Hi! In this version, invalidate_inodes() needs to be exported to be used by fuse_reverse_inval_all(). This is a big simplification of this function, which now simply calls shrink_dcache_sb() and invalidate_inodes(). It's clear that inodes still being referenced will not be invalidated -- but that's already the case for the single inode NOTIFY_INVAL_INODE fuse operation. * Changes since v4 - Replaced superblock inodes iteration by a single call to invalidate_inodes(). Also do the shrink_dcache_sb() first. (Dave Chinner) * Changes since v3 - Added comments to clarify semantic changes in fuse_reverse_inval_inode() when called with FUSE_INVAL_ALL_INODES (suggested by Bernd). - Added comments to inodes iteration loop to clarify __iget/iput usage (suggested by Joanne) - Dropped get_fuse_mount() call -- fuse_mount can be obtained from fuse_ilookup() directly (suggested by Joanne) (Also dropped the RFC from the subject.) * Changes since v2 - Use the new helper from fuse_reverse_inval_inode(), as suggested by Bernd. - Also updated patch description as per checkpatch.pl suggestion. * Changes since v1 As suggested by Bernd, this patch v2 simply adds an helper function that will make it easier to replace most of it's code by a call to function super_iter_inodes() when Dave Chinner's patch[1] eventually gets merged. [1] https://lore.kernel.org/r/20241002014017.3801899-3-david@xxxxxxxxxxxxx Luis Henriques (2): vfs: export invalidate_inodes() fuse: add new function to invalidate cache for all inodes fs/fuse/inode.c | 33 +++++++++++++++++++++++++++++++++ fs/inode.c | 1 + fs/internal.h | 1 - include/linux/fs.h | 1 + include/uapi/linux/fuse.h | 3 +++ 5 files changed, 38 insertions(+), 1 deletion(-)