Allow caching readdir in fuse. Use the page cache for this, which solves cache shrinking on memory pressure. I think it might make sense to extract something like this into a set of VFS helpers, so that other filesystems can also make use of this facility. Thanks, Miklos --- Miklos Szeredi (9): fuse: split out readdir.c fuse: add FOPEN_CACHE_DIR fuse: extract fuse_emit() helper fuse: allow caching readdir fuse: allow using readdir cache fuse: add readdir cache version fuse: use mtime for readdir cache verification fuse: use iversion for readdir cache verification fuse: reduce size of struct fuse_inode fs/fuse/Makefile | 2 +- fs/fuse/dir.c | 293 +++--------------------- fs/fuse/file.c | 10 + fs/fuse/fuse_i.h | 83 ++++++- fs/fuse/inode.c | 11 +- fs/fuse/readdir.c | 567 ++++++++++++++++++++++++++++++++++++++++++++++ include/uapi/linux/fuse.h | 7 +- 7 files changed, 688 insertions(+), 285 deletions(-) create mode 100644 fs/fuse/readdir.c -- 2.14.3