On 2023/12/6 17:10, Gao Xiang wrote:
Hi folks,

Recently, there are two new cases so that we need to add a preliminary
sub-page block support for compressed files;

  - As Android folks requested, Android ecosystem itself is now switching
    to 16k page size for their arm64 devices.  They needs an option of
    4k-block image compatibility on their new 16k devices;

  - Some arm64 cloud servers use 64k page size for their optimized
    workloads, but 4k-block EROFS container images need to be parsed too.

So this patchset mainly addresses the requirements above with a very
very simple approach as a start: just allocate short-lived temporary
buffers all the time to keep compressed data if sub-page blocks are
identified.  In other words, no inplace/cache decompression for
the preliminary support.

This patchset survives EROFS stress test on my own testfarms.

Looks good to me, feel free to add:

Reviewed-by: Chao Yu <c...@kernel.org>

Thanks,


Thanks,
Gao Xiang

Gao Xiang (5):
   erofs: support I/O submission for sub-page compressed blocks
   erofs: record `pclustersize` in bytes instead of pages
   erofs: fix up compacted indexes for block size < 4096
   erofs: refine z_erofs_transform_plain() for sub-page block support
   erofs: enable sub-page compressed block support

  fs/erofs/decompressor.c |  81 +++++++++------
  fs/erofs/inode.c        |   6 +-
  fs/erofs/zdata.c        | 224 ++++++++++++++++++----------------------
  fs/erofs/zmap.c         |  32 +++---
  4 files changed, 169 insertions(+), 174 deletions(-)

Reply via email to