]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
erofs: remove fscache backend entirely
authorGao Xiang <hsiangkao@linux.alibaba.com>
Mon, 22 Jun 2026 01:36:22 +0000 (09:36 +0800)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Mon, 22 Jun 2026 03:00:06 +0000 (11:00 +0800)
commitc37460cd9b2fcb61ec66b7eb4fde737e65ec2a56
tree4feab9bfc3cc5b83035ab5beca345bbb18c27e89
parent59397c6b755a35e5a33dbcbe22240cd86ebb935b
erofs: remove fscache backend entirely

EROFS over fscache was introduced to provide image lazy pulling
functionality. After the feature landed, the fscache subsystem made
netfs a new hard dependency, which is unexpected for a local filesystem
and has an kernel-defined caching hierarchy which could be inflexible
compared to the fanotify pre-content hooks. Therefore, this feature has
been deprecated for almost two years.

As EROFS file-backed mounts and fanotify pre-content hooks both upstream
for a while and already providing equivalent functionality (erofs-utils
has supported fanotify pre-content hooks), let's remove the fscache
backend now.

The main application of this feature is Nydus [1], and they plan to move
to use fanotify pre-content hooks in the near future too.

I hope this patch can be merged into Linux 7.2, which is also motivated
by newly found implementation issues [2][3] that are not worth
investigating given the deprecation and limited development resources.
The associated fscache/cachefiles cleanup patch will follow separately
through the vfs tree (netfs) later: it seems fine since the codebase is
isolated by CONFIG_CACHEFILES_ONDEMAND.

[1] https://github.com/dragonflyoss/nydus/blob/v2.1.0/docs/nydus-fscache.md
[2] https://github.com/dragonflyoss/nydus/pull/1824
[3] https://lore.kernel.org/r/20260619135800.1594811-1-michael.bommarito@gmail.com

Acked-by: Jingbo Xu <jefflexu@linux.alibaba.com>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Documentation/filesystems/erofs.rst
fs/erofs/Kconfig
fs/erofs/Makefile
fs/erofs/data.c
fs/erofs/fscache.c [deleted file]
fs/erofs/inode.c
fs/erofs/internal.h
fs/erofs/ishare.c
fs/erofs/super.c
fs/erofs/zdata.c