erofs updates for 6.12-rc1
Hi Linus,
Could you consider this pull request for 6.12-rc1? It's a bit earlier due to our mid-autumn festival holidays next week.
In this cycle, we'd like to add file-backed mount support, which has has been a strong requirement for years. It is especially useful when there are thousands of images running on the same host for containers and other sandbox use cases, unlike OS image use cases.
Without file-backed mounts, it's hard for container runtimes to manage and isolate so many unnecessary virtual block devices safely and efficiently, therefore file-backed mounts are highly preferred. For EROFS users, ComposeFS [1], containerd, and Android APEXes [2] will directly benefit from it, and I've seen no risk in implementing it as a completely immutable filesystem.
The previous experimental feature "EROFS over fscache" is now marked as deprecated because:
- Fscache is no longer an independent subsystem and has been merged into netfs, which was somewhat unexpected when it was proposed.
- New HSM "fanotify pre-content hooks" [3] will be landed upstream. These hooks will replace "EROFS over fscache" in a simpler way, as EROFS won't be bother with kernel caching anymore. Userspace programs can also manage their own caching hierarchy more flexibly.
Once the HSM "fanotify pre-content hooks" is landed, I will remove the fscache backend entirely as an internal dependency cleanup. More backgrounds are listed in the original patchset [4].
In addition to that, there are bugfixes and cleanups as usual as shown below. All commits have been in -next and no potential merge conflict is observed.
Thanks,
Gao Xiang
[1] https://github.com/containers/storage/pull/2039
[2] https://lore.kernel.org/r/CAB=BE-R3wU7hBBaeAXdkDp2kvODxSFWNQtcmc5tCppN5qwdQgw@mail.gmail.com
[3] https://lore.kernel.org/r/[email protected]
[4] https://lore.kernel.org/r/[email protected]
The following changes since commit da3ea35007d0af457a0afc87e84fddaebc4e0b63:
Linux 6.11-rc7 (2024-09-08 14:50:28 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git tags/erofs-for-6.12-rc1
for you to fetch changes up to 025497e1d176a9e063d1e60699527e2f3a871935:
erofs: reject inodes with negative i_size (2024-09-12 23:00:09 +0800)
----------------------------------------------------------------
Changes since last update:
- Support file-backed mounts for containers and sandboxes;
- Mark the experimental fscache backend as deprecated;
- Handle overlapped pclusters caused by crafted images properly;
- Fix a failure path which could cause infinite loops in z_erofs_init_decompressor();
- Get rid of unnecessary NOFAILs;
- Harmless on-disk hardening & minor cleanups.
----------------------------------------------------------------
Chunhai Guo (1):
erofs: allocate more short-lived pages from reserved pool first
Gao Xiang (10):
erofs: fix incorrect symlink detection in fast symlink
erofs: clean up erofs_register_sysfs()
erofs: handle overlapped pclusters out of crafted images properly
erofs: add file-backed mount support
erofs: support unencoded inodes for fileio
erofs: support compressed inodes for fileio
erofs: mark experimental fscache backend deprecated
erofs: sunset unneeded NOFAILs
erofs: restrict pcluster size limitations
erofs: reject inodes with negative i_size
Hongzhen Luo (1):
erofs: simplify erofs_map_blocks_flatmode()
Sandeep Dhavale (1):
erofs: fix error handling in z_erofs_init_decompressor
Yiyang Wu (2):
erofs: use kmemdup_nul in erofs_fill_symlink
erofs: refactor read_inode calling convention
fs/erofs/Kconfig | 22 +++++- fs/erofs/Makefile | 1 + fs/erofs/data.c | 109 ++++++++++++++++++--------- fs/erofs/decompressor.c | 2 +- fs/erofs/erofs_fs.h | 5 +- fs/erofs/fileio.c | 192 +++++++++++++++++++++++++++++++++++++++++++++++ fs/erofs/inode.c | 138 +++++++++++++++------------------- fs/erofs/internal.h | 26 ++++++- fs/erofs/super.c | 80 +++++++++++++------- fs/erofs/sysfs.c | 30 ++------ fs/erofs/zdata.c | 196 ++++++++++++++++++++++-------------------------- fs/erofs/zmap.c | 42 +++++------ 12 files changed, 544 insertions(+), 299 deletions(-) create mode 100644 fs/erofs/fileio.c
The pull request you sent on Sat, 14 Sep 2024 01:48:29 +0800:
The pull request you sent on Sat, 14 Sep 2024 01:48:29 +0800:
Quoted 1 line
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.gittags/erofs-for-6.12-rc1
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/69a3a0a45a2f72412c2ba31761cc9193bb746fef
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html