mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-24 12:44:11 +08:00
NFS: Move the delegation return down into _nfs4_do_setattr()
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
977fcc2b0b
commit
199366f017
@ -613,11 +613,6 @@ nfs_setattr(struct dentry *dentry, struct iattr *attr)
|
||||
goto out;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return any delegations if we're going to change ACLs
|
||||
*/
|
||||
if ((attr->ia_valid & (ATTR_MODE|ATTR_UID|ATTR_GID)) != 0)
|
||||
NFS_PROTO(inode)->return_delegation(inode);
|
||||
error = NFS_PROTO(inode)->setattr(dentry, fattr, attr);
|
||||
if (error == 0)
|
||||
error = nfs_refresh_inode(inode, fattr);
|
||||
|
@ -3875,6 +3875,10 @@ nfs4_proc_setattr(struct dentry *dentry, struct nfs_fattr *fattr,
|
||||
if (IS_ERR(label))
|
||||
return PTR_ERR(label);
|
||||
|
||||
/* Return any delegations if we're going to change ACLs */
|
||||
if ((sattr->ia_valid & (ATTR_MODE|ATTR_UID|ATTR_GID)) != 0)
|
||||
nfs4_inode_return_delegation(inode);
|
||||
|
||||
status = nfs4_do_setattr(inode, cred, fattr, sattr, ctx, NULL, label);
|
||||
if (status == 0) {
|
||||
nfs_setattr_update_inode(inode, sattr, fattr);
|
||||
|
Loading…
Reference in New Issue
Block a user