diff options
author | RageLtMan <rageltman [at] sempervictus> | 2022-08-13 11:34:08 -0400 |
---|---|---|
committer | RageLtMan <rageltman [at] sempervictus> | 2022-08-13 19:35:09 -0400 |
commit | 28cf6fee14d3bc5f6eda2099c7eb36e43297a8a8 (patch) | |
tree | c02cb3a288f67987cb200f95856258eebc7b313d /README | |
parent | c8dad45c8afa4fd4a784ae6cdffb84a2e804084e (diff) | |
download | vyatta-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