summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorRageLtMan <rageltman [at] sempervictus>2022-08-13 11:34:08 -0400
committerRageLtMan <rageltman [at] sempervictus>2022-08-13 19:35:09 -0400
commit28cf6fee14d3bc5f6eda2099c7eb36e43297a8a8 (patch)
treec02cb3a288f67987cb200f95856258eebc7b313d /README
parentc8dad45c8afa4fd4a784ae6cdffb84a2e804084e (diff)
downloadvyatta-cfg-28cf6fee14d3bc5f6eda2099c7eb36e43297a8a8.tar.gz
vyatta-cfg-28cf6fee14d3bc5f6eda2099c7eb36e43297a8a8.zip
Fallthrough to binstream copy when copy_file fails
Kernel 5.15, and probably newer, present an EXEDEV error when the vyatta-cfg code tries to boost::filesystem::copy_file on UnionFS FUSE mounts. This completely breaks operation on newer kernels, and is therefore a blocker to the rest of the project moving on to new Linux LTS versions. Boost is complex and fraught, this code behaves inconsistently in verious operating environments, and can be a nightmare to debug. Handle the concerns above using binary streaming in C++ to copy the source to the destination if an exception occurs during the existing Boost copy_file operation. Testing: Built ISO (cloud target), packer install, booted in OpenStack on KVM, booted in AWS on Xen, verified configurations are committed in both cases and that error logs are being generated to inform users about the fall-through being utilized to write-out configurations. Notes: Logging may be dropped to avoid flooding storage on often-updated systems. It is left in-place to aid developers in debugging the root concern underpinning Boot breakage (which may impact other areas of the code).
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions