nfs: fix xfstest generic/099 failed on nfsv3
authorZhangXiaoxu <zhangxiaoxu5@huawei.com>
Mon, 18 Feb 2019 14:56:43 +0000 (22:56 +0800)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Wed, 20 Feb 2019 22:33:55 +0000 (17:33 -0500)
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 <zhangxiaoxu5@huawei.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/nfs3acl.c

index 9fce18548f7e848be7fa395766fb2c488dd724af..c5c3fc6e6c600b427c991d4be3a83879bbd2b48c 100644 (file)
@@ -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: