[GIT PULL] erofs fixes for 6.8-rc3

From: Gao Xiang
Date: Tue Jan 30 2024 - 22:45:19 EST


Hi Linus,

Could you consider these fixes for 6.8-rc3?

One commit fixes an infinite loop issue of sub-page compressed data
support found with lengthy stress tests on a 64k-page arm64 VM.

Another one optimizes temporary buffer allocation for low-memory
scenarios, which can reduce 20.21% on average under a heavy multi-app
launch benchmark workload.

The remaining one gets rid of unnecessary GFP_NOFS.

All commits have been in -next for a while and no potential merge
conflict is observed.

Thanks,
Gao Xiang

The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d:

Linux 6.8-rc1 (2024-01-21 14:11:32 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git tags/erofs-for-6.8-rc3-fixes

for you to fetch changes up to d9281660ff3ffb4a05302b485cc59a87e709aefc:

erofs: relaxed temporary buffers allocation on readahead (2024-01-27 12:28:08 +0800)

----------------------------------------------------------------
Changes since last update:

- Fix infinite loops due to filling compressed_bvecs non-atomically;

- Remove unnecessary GFP_NOFS;

- Relax temporary buffer allocation for low-memory scenarios.

----------------------------------------------------------------
Chunhai Guo (1):
erofs: relaxed temporary buffers allocation on readahead

Gao Xiang (1):
erofs: fix infinite loop due to a race of filling compressed_bvecs

Jingbo Xu (1):
erofs: get rid of unneeded GFP_NOFS

fs/erofs/compress.h | 5 +--
fs/erofs/decompressor.c | 5 ++-
fs/erofs/decompressor_deflate.c | 19 +++++---
fs/erofs/decompressor_lzma.c | 17 ++++---
fs/erofs/fscache.c | 2 +-
fs/erofs/inode.c | 2 +-
fs/erofs/utils.c | 2 +-
fs/erofs/zdata.c | 98 +++++++++++++++++++++++------------------
8 files changed, 87 insertions(+), 63 deletions(-)