2019-02-18 14:52:44

by zhangxiaoxu (A)

[permalink] [raw]
Subject: [PATCH] nfs: fix xfstest generic/099 failed on nfsv3

After setxattr, the nfsv3 cached the acl which set by user.

But at the backend, the shared file system (eg. ext4) will check
the acl, if it can merged with mode, it won't add acl to the file.
So, the nfsv3 cached acl is redundant.

Don't 'set_cached_acl' when setxattr.

Signed-off-by: ZhangXiaoxu <[email protected]>
---
fs/nfs/nfs3acl.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c
index 9fce185..c5c3fc6 100644
--- a/fs/nfs/nfs3acl.c
+++ b/fs/nfs/nfs3acl.c
@@ -222,8 +222,6 @@ static int __nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl,
switch (status) {
case 0:
status = nfs_refresh_inode(inode, fattr);
- set_cached_acl(inode, ACL_TYPE_ACCESS, acl);
- set_cached_acl(inode, ACL_TYPE_DEFAULT, dfacl);
break;
case -EPFNOSUPPORT:
case -EPROTONOSUPPORT:
--
2.7.4



2019-02-21 22:36:06

by Trond Myklebust

[permalink] [raw]
Subject: Re: [PATCH] nfs: fix xfstest generic/099 failed on nfsv3

On Mon, 2019-02-18 at 22:56 +0800, ZhangXiaoxu wrote:
> After setxattr, the nfsv3 cached the acl which set by user.
>
> But at the backend, the shared file system (eg. ext4) will check
> the acl, if it can merged with mode, it won't add acl to the file.
> So, the nfsv3 cached acl is redundant.
>
> Don't 'set_cached_acl' when setxattr.
>
> Signed-off-by: ZhangXiaoxu <[email protected]>
> ---
> fs/nfs/nfs3acl.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c
> index 9fce185..c5c3fc6 100644
> --- a/fs/nfs/nfs3acl.c
> +++ b/fs/nfs/nfs3acl.c
> @@ -222,8 +222,6 @@ static int __nfs3_proc_setacls(struct inode
> *inode, struct posix_acl *acl,
> switch (status) {
> case 0:
> status = nfs_refresh_inode(inode, fattr);
> - set_cached_acl(inode, ACL_TYPE_ACCESS, acl);
> - set_cached_acl(inode, ACL_TYPE_DEFAULT, dfacl);
> break;
> case -EPFNOSUPPORT:
> case -EPROTONOSUPPORT:

Looks good. I've applied it to the linux-next branch for the 5.1 merge
window.

Thanks,
Trond

--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
[email protected]