You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fuse: add more control over cache invalidation behaviour
jira SECO-478
RFBugFix: FUSE
commit-author Luis Henriques <luis@igalia.com>
commit 2396356
upstream-diff | conflict in fs/fuse/dir.c due to missing this piece:
d701902 - fuse: return correct dentry for ->mkdir
Which is a part of a larger changeset here that we're not going to
take: https://lore.kernel.org/all/20250227013949.536172-1-neilb@suse.de/
| Additionally this bumps the Kernel FUSE API minor version from 41
to 44. The interface into via fuse3 currently in Rocky 10.1 is
limited to API 38 anyways at 3.16.2.
| There is a build conflict due to a major rewrite of the d_revalidate
calls which now includes the parent directory being passed.
5be1fa8 Pass parent directory inode and expected name to ->d_revalidate()
In this case we can use the dentry->i_sb because we only need the
superblock for get_fuse_conn_super().
Currently userspace is able to notify the kernel to invalidate the cache
for an inode. This means that, if all the inodes in a filesystem need to
be invalidated, then userspace needs to iterate through all of them and do
this kernel notification separately.
This patch adds the concept of 'epoch': each fuse connection will have the
current epoch initialized and every new dentry will have it's d_time set to
the current epoch value. A new operation will then allow userspace to
increment the epoch value. Every time a dentry is d_revalidate()'ed, it's
epoch is compared with the current connection epoch and invalidated if it's
value is different.
Signed-off-by: Luis Henriques <luis@igalia.com>
Tested-by: Laura Promberger <laura.promberger@cern.ch>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
(cherry picked from commit 2396356)
Signed-off-by: Jonathan Maple <jmaple@ciq.com>
build fix: fuse: add more control over cache invalidation behaviour
0 commit comments