Skip to contentSkip to conversation

erofs updates for 6.12-rc1

GIT PULL Merged Gao Xiang 2 participants 2 messages Sep 13, 2024 – Sep 16, 2024

lore
Share & tools
lore

Gao Xiang

author
#0 lore raw

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
merge bot Merged
#1 lore raw
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.git tags/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