On Fri, Mar 12, 2021 at 02:30:11AM +0100, David Disseldorp wrote: > This patchset adds support for Linux copy_file_range() syscall usage via > a new '--reflink' copy-out parameter. The syscall can considerably > improve archive creation performance and space efficiency on > copy-on-write filesystems such as XFS and Btrfs by performing a metadata > only reflink instead of regular read/write copy I/O. The patchset is > built on Luis' previous submission at: > https://lists.gnu.org/archive/html/bug-cpio/2020-07/msg00001.html > > An additional '--chain' parameter is also added for appending a new > archive to an existing file. This is useful for Linux initramfs images, > which can be chained back-to-back. > Unit test coverage for both new parameters is provided. > > Dracut changes to make use of the above features when building a Linux > initramfs image have been submitted upstream via: > https://github.com/dracutdevs/dracut/pull/1148 . > > This patch set also carries the queued change at > https://savannah.gnu.org/patch/?9263 . > > Feedback appreciated.
First of all, thanks a lot for picking this and making the full work do something useful. At least dracut could benefit a *lot* from this. I've gone through the patches and, although I didn't do an exhaustive testing, things look pretty good to me. I've just a few comments in 2 patches, following soon. Cheers, -- Luís > > Cheers, David > > -- > > configure.ac | 6 +++ > src/copyin.c | 2 +- > src/copyout.c | 43 +++++++++++++++++--- > src/extern.h | 7 +++- > src/global.c | 7 +++- > src/main.c | 50 +++++++++++++++++++++-- > src/mt.c | 4 +- > src/util.c | 65 ++++++++++++++++++++++++++++-- > tests/chain.at | 91 ++++++++++++++++++++++++++++++++++++++++++ > tests/reflink.at | 98 ++++++++++++++++++++++++++++++++++++++++++++++ > tests/testsuite.at | 2 + > 11 files changed, 356 insertions(+), 19 deletions(-) >
