linux/usr
David Disseldorp 97169cd6d9
gen_init_cpio: attempt copy_file_range for file data
The copy_file_range syscall can improve copy performance by cloning
extents between cpio archive source and destination files.
Existing read / write based copy logic is retained for fallback in case
the copy_file_range syscall is unsupported or unavailable due to
cross-filesystem EXDEV, etc.

Clone or reflink, as opposed to copy, of source file extents into the
output cpio archive may (e.g. on Btrfs and XFS) require alignment of the
output to the filesystem block size. This could be achieved by inserting
padding entries into the cpio archive manifest.

Signed-off-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: Nicolas Schier <nsc@kernel.org>
Link: https://lore.kernel.org/r/20250819032607.28727-4-ddiss@suse.de
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
2025-08-20 16:02:55 -07:00
..
dummy-include kbuild: prevent exported headers from including <stdlib.h>, <stdbool.h> 2022-05-13 10:56:10 +02:00
include kbuild: uapi: upgrade check_declarations() warning to error 2025-08-13 14:00:35 -07:00
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
default_cpio_list initramfs: add default_cpio_list, and delete -d option support 2020-01-16 00:25:22 +09:00
gen_init_cpio.c gen_init_cpio: attempt copy_file_range for file data 2025-08-20 16:02:55 -07:00
gen_initramfs.sh initramfs: Encode dependency on KBUILD_BUILD_TIMESTAMP 2023-06-06 17:54:49 +09:00
initramfs_data.S initramfs: refactor the initramfs build rules 2020-01-16 00:26:21 +09:00
Kconfig usr/Kconfig: fix typos of "its" 2023-12-20 15:02:58 -08:00
Makefile initramfs: shorten cmd_initfs in usr/Makefile 2024-07-16 01:07:52 +09:00