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

