Hi folks,
The following shows the latest progress of EROFS big pcluster feature
for the upcoming 5.13, note that big pcluster also enables inplace
decompression to minimize extra page allocation and cache thrashing.
Kernel: Linux 5.10-rc5
Testsuite: erofs-openbenchmark
Testdata: enwik9
From: Gao Xiang
Add a bitmap for available compression algorithms and a variable-sized
on-disk table for compression options in preparation for upcoming big
pcluster and LZMA algorithm, which follows the end of super block.
To parse the compression options, the bitmap is scanned one by one.
For
From: Gao Xiang
Introduce z_erofs_lz4_cfgs to store all lz4 configurations.
Currently it's only max_distance, but will be used for new
features later.
Reviewed-by: Chao Yu
Signed-off-by: Gao Xiang
---
fs/erofs/decompressor.c | 15 +--
fs/erofs/erofs_fs.h | 6 ++
From: Gao Xiang
Hi folks,
When we provides support for different algorithms or big pcluster, it'd
be necessary to record some configuration in the per-fs basis.
For example, when big pcluster feature for lz4 is enabled, we need to
know the largest pclustersize in the whole fs instance to
From: Huang Jianan
lz4 uses LZ4_DISTANCE_MAX to record history preservation. When
using rolling decompression, a block with a higher compression
ratio will cause a larger memory allocation (up to 64k). It may
cause a large resource burden in extreme cases on devices with
small memory and a large
From: Gao Xiang
Introduce erofs_sb_has_xxx() to make long checks short, especially
for later big pcluster & LZMA features.
Reviewed-by: Chao Yu
Signed-off-by: Gao Xiang
---
fs/erofs/decompressor.c | 3 +--
fs/erofs/internal.h | 9 +
fs/erofs/super.c| 2 +-
3 files
From: Gao Xiang
If any unknown i_format fields are set (may be of some new incompat
inode features), mark such inode as unsupported.
Just in case of any new incompat i_format fields added in the future.
Fixes: 431339ba9042 ("staging: erofs: add inode operations")
Cc: # 4.19+
Signed-off-by: