diff options
Diffstat (limited to 'fs/nfs/inode.c')
-rw-r--r-- | fs/nfs/inode.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 6b0f7fe6bd1d..65d5ab45ddc5 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
@@ -853,6 +853,11 @@ nfs_setattr(struct dentry *dentry, struct iattr *attr) | |||
853 | filemap_fdatawait(inode->i_mapping); | 853 | filemap_fdatawait(inode->i_mapping); |
854 | nfs_wb_all(inode); | 854 | nfs_wb_all(inode); |
855 | } | 855 | } |
856 | /* | ||
857 | * Return any delegations if we're going to change ACLs | ||
858 | */ | ||
859 | if ((attr->ia_valid & (ATTR_MODE|ATTR_UID|ATTR_GID)) != 0) | ||
860 | nfs_inode_return_delegation(inode); | ||
856 | error = NFS_PROTO(inode)->setattr(dentry, &fattr, attr); | 861 | error = NFS_PROTO(inode)->setattr(dentry, &fattr, attr); |
857 | if (error == 0) | 862 | if (error == 0) |
858 | nfs_refresh_inode(inode, &fattr); | 863 | nfs_refresh_inode(inode, &fattr); |