[RFC PATCH v2 0/8] fuse: caches documentation and testing
From: Luis Henriques
Date: Mon Aug 17 2026 - 10:27:44 EST
Hi!
I'm (finally!) sending v2 of this patchset. It tries to document (and add
a few kselftests) to the different types of caches that are currently in use
within FUSE. As I mentioned in v1 the idea for documenting this came from
Miklos during this year's LSFMM, where he mentioned he would like to see
caches usage documented before he could merge an initial version of fusex.
This version documents symlinks, attributes, ACLs and readdir caches. Still
missing: dentries and data caching.
I'm still sending it as an RFC as I'm still not sure if it fulfils Miklos'
initial goal.
As usual feedback is welcome, as I'll (slowly) continue looking into other
cache types.
Major changes since v1:
- Added more caches to the document
- Changed tests format to single self-contained binaries
- Since Amir added a new fuse3-based test, the conversion to fuse3 of the
fusectl has minor changes to the Makefile
- NOTE: I've kept Amir's Reviewed-by anyway (should I drop it?)
- Added the ACL test-cases to the new ACL test implemented by Amir
- This required some re-work of the existing test (patches 5 & 6)
- Added more tests
Luis Henriques (8):
Documentation: fuse: add document on caches being used by FUSE
selftests/fuse: convert fusectl test to fuse3
selftests/fuse: check that fusectlfs is mounted
selftests/fuse: add fuse symlink caching test
selftests/fuse: factor-out test fixture setup/teardown
selftests/fuse: use dynamically allocated memory to store ACLs
selftests/fuse: add some extra ACL caching tests
selftests/fuse: add fuse readdir caching test
.../filesystems/fuse/fuse-caches.rst | 142 ++++++++
.../selftests/filesystems/fuse/.gitignore | 3 +
.../selftests/filesystems/fuse/Makefile | 28 +-
.../filesystems/fuse/fuse_acl_cache_test.c | 289 ++++++++++++++--
.../selftests/filesystems/fuse/fuse_mnt.c | 17 +-
.../fuse/fuse_readdir_cache_test.c | 314 ++++++++++++++++++
.../fuse/fuse_symlink_cache_test.c | 204 ++++++++++++
.../selftests/filesystems/fuse/fusectl_test.c | 7 +
8 files changed, 950 insertions(+), 54 deletions(-)
create mode 100644 Documentation/filesystems/fuse/fuse-caches.rst
create mode 100644 tools/testing/selftests/filesystems/fuse/fuse_readdir_cache_test.c
create mode 100644 tools/testing/selftests/filesystems/fuse/fuse_symlink_cache_test.c