diff options
author | David Disseldorp <ddiss@suse.de> | 2025-08-19 13:05:49 +1000 |
---|---|---|
committer | Nathan Chancellor <nathan@kernel.org> | 2025-08-20 16:02:56 -0700 |
commit | 7c1f14f6e8e7f288350faec02b3fbc25971da289 (patch) | |
tree | c59f3a3d3467a01d58d6a3b8a6445f3a82dde13f /rust/helpers/helpers.c | |
parent | 9135564db4904e82a3207bd2d134ca64ce618047 (diff) |
docs: initramfs: file data alignment via name padding
The existing cpio extraction logic reads (maximum PATH_MAX) name_len
bytes from the archive into the collected name buffer and ensures that
the trailing byte is a null-terminator. This allows the actual file name
to be shorter than name_len, with the name string simply zero-terminated
prior to the last byte.
Initramfs generators, such as dracut-cpio[1], can take advantage of name
zero-padding to align file data segments within the archive to
filesystem block boundaries. Block boundary alignment may allow the
copy_file_range syscall to reflink archive source and destination
extents.
Link: https://github.com/dracutdevs/dracut/commit/300e4b116c624bca1b9e7251708b1ae656fe9157 [1]
Signed-off-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: Nicolas Schier <nsc@kernel.org>
Link: https://lore.kernel.org/r/20250819032607.28727-7-ddiss@suse.de
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions