Re: Re: [PATCH] fuse: cache POSIX ACLs when setting them
Horst Birthelmer <[email protected]> Wed, 1 Jul 2026 13:47:37 +0200
| Newsgroups | dev.linux.lists.fuse-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Jul 01, 2026 at 01:41:22PM +0200, Amir Goldstein wrote: > On Wed, Jul 1, 2026 at 1:05 PM Luis Henriques <[email protected]> wrote: > > > > When setting an ACL in an inode we can immediately add it to the cache. > > This is a small optimisation, as currently an ACL is only added to the > > cache when reading it again, which involves an extra GETXATTR hop into > > user-space. > > > > Signed-off-by: Luis Henriques <[email protected]> > > --- > > fs/fuse/acl.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/fs/fuse/acl.c b/fs/fuse/acl.c > > index 31fb50e16aed..c2584bb75ec7 100644 > > --- a/fs/fuse/acl.c > > +++ b/fs/fuse/acl.c > > @@ -155,6 +155,8 @@ int fuse_set_acl(struct mnt_idmap *idmap, struct dentry *dentry, > > */ > > forget_all_cached_acls(inode); > > fuse_invalidate_attr(inode); > > + if (!ret) > > + set_cached_acl(inode, type, acl); > > This is undoing what forget_all_cached_acls() explicitly tries to do. > I think the reason is that kernel code cannot assume the server did > not modify ACL before storing them, not sure, but NFS does the same thing > with nfs_zap_acl_cache(). > > Thanks, > Amir. > I just thought it would be a good idea to save us a trip to user space. Horst