This patchset does some minor initramfs refactoring and allows cpio entry mtime preservation to be disabled via a new Kconfig INITRAMFS_PRESERVE_MTIME option. Patches 4/6 to 6/6 implement support for creation and extraction of "crc" cpio archives, which carry file data checksums. Basic tests for this functionality can be found at Link: https://github.com/rapido-linux/rapido/pull/163 Changes since v6 following feedback from Andrew Morton: - 3/6: improve commit message and don't split out initramfs_mtime.h - add extra acks and sob tags for 1/6, 2/6 and 4/6 Changes since v5: - add PATCH 2/6 initramfs: make dir_entry.name a flexible array member - minor commit message rewording Changes since v4, following feedback from Matthew Wilcox: - implement cpio "crc" archive creation and extraction - add patch to fix gen_init_cpio short read handling - drop now-unnecessary "crc" documentation and error msg changes Changes since v3, following feedback from Martin Wilck: - 4/4: keep vfs_utimes() call in do_copy() path + drop [PATCH v3 4/5] initramfs: use do_utime() wrapper consistently + add do_utime_path() helper + clean up timespec64 initialisation - 4/4: move all mtime preservation logic to initramfs_mtime.h and drop separate .c - 4/4: improve commit message init/Kconfig | 10 +++++ init/initramfs.c | 76 ++++++++++++++++++++++++------------- usr/gen_init_cpio.c | 92 +++++++++++++++++++++++++++++++++------------ 3 files changed, 127 insertions(+), 51 deletions(-)