[GIT PULL] erofs updates for 6.1-rc1

From: Gao Xiang
Date: Mon Oct 03 2022 - 07:14:00 EST


Hi Linus,

Could you consider this pull request for 6.1-rc1?

In this cycle, for container use cases, fscache-based shared domain is
introduced [1] so that data blobs in the same domain will be storage
deduplicated and it will also be used for page cache sharing later.

Besides, a special packed inode is now introduced to record inode
fragments which keep the tail part of files by Yue Hu [2]. You can
keep arbitary length or (at will) the whole file as a fragment and then
fragments can be optionally compressed in the packed inode together and
even deduplicated for smaller image sizes.

In addition to that, global compressed data deduplication by sharing
partial-referenced pclusters is also supported in this cycle.

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

Thanks,
Gao Xiang

[1] https://lore.kernel.org/r/20220916085940.89392-1-zhujia.zj@xxxxxxxxxxxxx
[2] https://lore.kernel.org/r/cover.1663065968.git.huyue2@xxxxxxxxxxx

The following changes since commit 80e78fcce86de0288793a0ef0f6acf37656ee4cf:

Linux 6.0-rc5 (2022-09-11 16:22:01 -0400)

are available in the Git repository at:

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

for you to fetch changes up to 312fe643ad1153fe0337c46f4573030d0c2bac73:

erofs: clean up erofs_iget() (2022-09-27 17:27:45 +0800)

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

- Introduce fscache-based domain to share blobs between images;

- Support recording fragments in a special packed inode;

- Support partial-referenced pclusters for global compressed data
deduplication;

- Fix an order >= MAX_ORDER warning due to crafted negative i_size;

- Several cleanups.

----------------------------------------------------------------
Gao Xiang (4):
erofs: fix order >= MAX_ORDER warning due to crafted negative i_size
erofs: introduce partial-referenced pclusters
erofs: clean up unnecessary code and comments
erofs: clean up erofs_iget()

Jia Zhu (6):
erofs: use kill_anon_super() to kill super in fscache mode
erofs: code clean up for fscache
erofs: introduce fscache-based domain
erofs: introduce a pseudo mnt to manage shared cookies
erofs: Support sharing cookies in the same domain
erofs: introduce 'domain_id' mount option

Jingbo Xu (1):
erofs: clean up .read_folio() and .readahead() in fscache mode

Yue Hu (3):
erofs: support interlaced uncompressed data for compressed files
erofs: support on-disk compressed fragments data
erofs: fold in z_erofs_reload_indexes()

fs/erofs/decompressor.c | 47 +++--
fs/erofs/decompressor_lzma.c | 3 +
fs/erofs/erofs_fs.h | 40 +++-
fs/erofs/fscache.c | 477 ++++++++++++++++++++++++++++---------------
fs/erofs/inode.c | 26 +--
fs/erofs/internal.h | 57 ++++--
fs/erofs/namei.c | 13 +-
fs/erofs/super.c | 96 +++++++--
fs/erofs/sysfs.c | 23 ++-
fs/erofs/xattr.h | 2 -
fs/erofs/zdata.c | 51 ++++-
fs/erofs/zmap.c | 104 +++++++---
include/trace/events/erofs.h | 11 +-
13 files changed, 651 insertions(+), 299 deletions(-)