summaryrefslogtreecommitdiff
path: root/include/linux/pgalloc.h
diff options
context:
space:
mode:
authorJun Wu <quark@meta.com>2026-05-15 03:14:12 +0300
committerMiklos Szeredi <mszeredi@redhat.com>2026-06-15 15:06:20 +0300
commit0fa8346099b5794b9909989e3f1cb617e9d8d3fa (patch)
tree9510c2efb3da913ef9375d565b07ce1ebb754186 /include/linux/pgalloc.h
parent6af3330ec5d5fb8c06c04eb520a71cf73ea5a765 (diff)
downloadlinux-0fa8346099b5794b9909989e3f1cb617e9d8d3fa.tar.xz
fuse: invalidate readdir cache on epoch bump
FUSE_NOTIFY_INC_EPOCH invalidates dentries, but does not invalidate cached readdir results. A process with cwd inside a FUSE mount can therefore observe stale readdir(".") output after an epoch bump. Fix this by recording epoch in the readdir cache and checking it on reuse. Minimal reproducer: - mount a tiny FUSE fs with an empty root directory - on opendir, enable fi->cache_readdir and fi->keep_cache - chdir into the mount and call readdir(".") to populate readdir cache - make the FUSE server report one file in the root directory - send only FUSE_NOTIFY_INC_EPOCH - call readdir(".") again; before this change it stays stale, after this change it sees the new file Fixes: 2396356a945b ("fuse: add more control over cache invalidation behaviour") Signed-off-by: Jun Wu <quark@meta.com> Reviewed-by: Joanne Koong <joannelkoong@gmail.com> Reviewed-by: Luis Henriques <luis@igalia.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'include/linux/pgalloc.h')
0 files changed, 0 insertions, 0 deletions