Hi folks,

v2: https://lore.kernel.org/r/[email protected]
mkfs v8: 
https://lore.kernel.org/r/[email protected]

This is the 4th version of tail-packing inline compressed data feature.
It tries to inline the tail pcluster right after the inode metadata to
save data I/O and storage space.

Take Linux 5.10.87 source code as an example:
linux-5.10.87 (erofs, uncompressed)             972570624

linux-5.10.87 (erofs, lz4hc,9 4k tailpacking)   391696384
linux-5.10.87 (erofs, lz4hc,9 8k tailpacking)   368807936
linux-5.10.87 (erofs, lz4hc,9 16k tailpacking)  345649152

linux-5.10.87 (erofs, lz4hc,9 4k vanilla)       416079872
linux-5.10.87 (erofs, lz4hc,9 8k vanilla)       395493376
linux-5.10.87 (erofs, lz4hc,9 16k vanilla)      383213568

Thanks,
Gao Xiang

changes since v3:
 - add comments about z_erofs_lz4_decompress_ctx (Chao);
 - move cache_strategy together with preload_compressed_pages (Yue);
 - remove duplicated code about z_idata_size (Yue);
 - rename z_idata_headlcn to z_tailextent_headlcn since
   EROFS_GET_BLOCKS_FINDTAIL is a generic flag which is not
   only used for tail pcluster (Yue).

Gao Xiang (3):
  erofs: tidy up z_erofs_lz4_decompress
  erofs: introduce z_erofs_fixup_insize
  erofs: support unaligned data decompression

Yue Hu (2):
  erofs: support inline data decompression
  erofs: add on-disk compressed tail-packing inline support

 fs/erofs/compress.h          |   4 +-
 fs/erofs/decompressor.c      | 132 +++++++++++++++++++--------------
 fs/erofs/decompressor_lzma.c |  19 ++---
 fs/erofs/erofs_fs.h          |  10 ++-
 fs/erofs/internal.h          |   6 ++
 fs/erofs/super.c             |   3 +
 fs/erofs/sysfs.c             |   2 +
 fs/erofs/zdata.c             | 139 +++++++++++++++++++++++------------
 fs/erofs/zdata.h             |  24 +++++-
 fs/erofs/zmap.c              | 113 ++++++++++++++++++++--------
 10 files changed, 306 insertions(+), 146 deletions(-)

-- 
2.24.4

Reply via email to