[GIT PULL] erofs updates for 6.3-rc1

From: Gao Xiang
Date: Sun Feb 19 2023 - 22:03:14 EST


Hi Linus,

Could you consider this pull request for 6.3-rc1?

The most noticeable feature for this cycle is per-CPU kthread
decompression since Android use cases need low-latency I/O handling
in order to ensure the app runtime performance, currently unbounded
workqueue latencies are not quite good for production on many aarch64
hardwares and thus we need to introduce a deterministic expectation
for these. Decompression is CPU-intensive and it is sleepable for
EROFS, so other alternatives like decompression under softirq contexts
are not considered. More details are in the corresponding commit
message.

Others are random cleanups around the whole codebase and we will
continue to clean up further in the next few months.

Due to Lunar New Year holidays, some new features were not completely
reviewed and solidified as expected and we may delay them into the
next version. All commits have been in -next for a while.

Thanks,
Gao Xiang

The following changes since commit 2241ab53cbb5cdb08a6b2d4688feb13971058f65:

Linux 6.2-rc5 (2023-01-21 16:27:01 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git tags/erofs-for-6.3-rc1

for you to fetch changes up to 8d1b80a79452630f157bf634ae9cfcd9f4eed161:

erofs: fix an error code in z_erofs_init_zip_subsystem() (2023-02-16 22:51:53 +0800)

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

- Add per-cpu kthreads for low-latency decompression for Android
use cases;

- Get rid of tagged pointer helpers since they are rarely used now;

- Several code cleanups to reduce codebase;

- Documentation and MAINTAINERS updates.

----------------------------------------------------------------
Dan Carpenter (1):
erofs: fix an error code in z_erofs_init_zip_subsystem()

Gao Xiang (10):
erofs: clean up erofs_iget()
erofs: remove linux/buffer_head.h dependency
erofs: get rid of debug_one_dentry()
erofs: simplify iloc()
erofs: get rid of erofs_inode_datablocks()
erofs: avoid tagged pointers to mark sync decompression
erofs: remove tagged pointer helpers
erofs: move zdata.h into zdata.c
erofs: get rid of z_erofs_do_map_blocks() forward declaration
erofs: tidy up internal.h

Jingbo Xu (6):
erofs: update print symbols for various flags in trace
erofs: remove unused EROFS_GET_BLOCKS_RAW flag
erofs: remove unused device mapping in meta routine
erofs: maintain cookies of share domain in self-contained list
erofs: relinquish volume with mutex held
erofs: unify anonymous inodes for blob

Sandeep Dhavale (1):
erofs: add per-cpu threads for decompression as an option

Thomas Weißschuh (1):
erofs: make kobj_type structures constant

Yangtao Li (1):
MAINTAINERS: erofs: Add Documentation/ABI/testing/sysfs-fs-erofs

Yue Hu (1):
Documentation/ABI: sysfs-fs-erofs: update supported features

Documentation/ABI/testing/sysfs-fs-erofs | 3 +-
MAINTAINERS | 1 +
fs/erofs/Kconfig | 18 ++
fs/erofs/data.c | 23 +-
fs/erofs/dir.c | 17 --
fs/erofs/fscache.c | 146 +++++------
fs/erofs/inode.c | 42 +--
fs/erofs/internal.h | 146 ++++-------
fs/erofs/namei.c | 18 +-
fs/erofs/super.c | 3 +-
fs/erofs/sysfs.c | 6 +-
fs/erofs/tagptr.h | 107 --------
fs/erofs/xattr.c | 20 +-
fs/erofs/zdata.c | 424 ++++++++++++++++++++++++++-----
fs/erofs/zdata.h | 178 -------------
fs/erofs/zmap.c | 253 +++++++++---------
include/trace/events/erofs.h | 17 +-
17 files changed, 667 insertions(+), 755 deletions(-)
delete mode 100644 fs/erofs/tagptr.h
delete mode 100644 fs/erofs/zdata.h