[RFC PATCH v2 0/2] erofs: support compressed fragments data

From: Yue Hu
Date: Sat Aug 27 2022 - 03:48:38 EST


From: Yue Hu <huyue2@xxxxxxxxxxx>

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 v4: https://lore.kernel.org/all/cover.1661087840.git.huyue2@xxxxxxxxxxx/

changes from v1:
- fix a compiling error without CONFIG_EROFS_FS_ZIP, reported by kernel test
robot <lkp@xxxxxxxxx>;
- 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/compress.h | 3 +++
fs/erofs/decompressor.c | 12 +++++----
fs/erofs/erofs_fs.h | 28 ++++++++++++++-----
fs/erofs/internal.h | 16 ++++++++---
fs/erofs/super.c | 15 +++++++++++
fs/erofs/sysfs.c | 2 ++
fs/erofs/zdata.c | 59 +++++++++++++++++++++++++++++++++++++++--
fs/erofs/zdata.h | 3 +++
fs/erofs/zmap.c | 35 ++++++++++++++++++++++--
9 files changed, 155 insertions(+), 18 deletions(-)

--
2.17.1