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/[email protected] [2] https://lore.kernel.org/r/[email protected] 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(-)
