From: Yue Hu <[email protected]> This feature can merge tail of per-file or the whole files into a special inode to achieve greater compression ratio.
Meanwhile, also add a interlaced uncompressed data layout support for compressed files since fragments feature (and later) can use it. mkfs v8: https://lore.kernel.org/all/[email protected]/ changes from v3: - improve the interlaced layout for non 4K uncompressed data as well (Xiang) - support 64bit fragment offset for fragment inode and legacy compress (Xiang) changes from v2: - enhance the condition to check if pcluster is interlaced or not; - no typo. changes from v1: - fix a compiling error without CONFIG_EROFS_FS_ZIP, reported by kernel test robot <[email protected]>; - introduce the term 'interlaced' for patch 1/2 suggested by Xiang; - fix packed inode failure path when read super pointed out by Xiang; - use kmap_local_page instead of kmap_atomic pointed out by Xiang; - use a simpler way to avoid call read fragment data twice suggested by Xiang; - update commit message change. Yue Hu (2): erofs: support interlaced uncompressed data for compressed files erofs: support on-disk compressed fragments data fs/erofs/decompressor.c | 47 ++++++++++++++++++------------- fs/erofs/erofs_fs.h | 31 +++++++++++++++++---- fs/erofs/internal.h | 17 +++++++++-- fs/erofs/super.c | 15 ++++++++++ fs/erofs/sysfs.c | 2 ++ fs/erofs/zdata.c | 48 ++++++++++++++++++++++++++++++- fs/erofs/zmap.c | 62 +++++++++++++++++++++++++++++++++++++---- 7 files changed, 187 insertions(+), 35 deletions(-) -- 2.17.1
