Loading fs/nfs/inode.c +10 −4 Original line number Diff line number Diff line Loading @@ -393,8 +393,8 @@ int nfs_setattr(struct dentry *dentry, struct iattr *attr) { struct inode *inode = dentry->d_inode; struct nfs_fattr fattr; int error; struct nfs_fattr *fattr; int error = -ENOMEM; nfs_inc_stats(inode, NFSIOS_VFSSETATTR); Loading @@ -417,14 +417,20 @@ nfs_setattr(struct dentry *dentry, struct iattr *attr) filemap_write_and_wait(inode->i_mapping); nfs_wb_all(inode); } fattr = nfs_alloc_fattr(); if (fattr == NULL) goto out; /* * Return any delegations if we're going to change ACLs */ if ((attr->ia_valid & (ATTR_MODE|ATTR_UID|ATTR_GID)) != 0) nfs_inode_return_delegation(inode); error = NFS_PROTO(inode)->setattr(dentry, &fattr, attr); error = NFS_PROTO(inode)->setattr(dentry, fattr, attr); if (error == 0) nfs_refresh_inode(inode, &fattr); nfs_refresh_inode(inode, fattr); nfs_free_fattr(fattr); out: return error; } Loading Loading
fs/nfs/inode.c +10 −4 Original line number Diff line number Diff line Loading @@ -393,8 +393,8 @@ int nfs_setattr(struct dentry *dentry, struct iattr *attr) { struct inode *inode = dentry->d_inode; struct nfs_fattr fattr; int error; struct nfs_fattr *fattr; int error = -ENOMEM; nfs_inc_stats(inode, NFSIOS_VFSSETATTR); Loading @@ -417,14 +417,20 @@ nfs_setattr(struct dentry *dentry, struct iattr *attr) filemap_write_and_wait(inode->i_mapping); nfs_wb_all(inode); } fattr = nfs_alloc_fattr(); if (fattr == NULL) goto out; /* * Return any delegations if we're going to change ACLs */ if ((attr->ia_valid & (ATTR_MODE|ATTR_UID|ATTR_GID)) != 0) nfs_inode_return_delegation(inode); error = NFS_PROTO(inode)->setattr(dentry, &fattr, attr); error = NFS_PROTO(inode)->setattr(dentry, fattr, attr); if (error == 0) nfs_refresh_inode(inode, &fattr); nfs_refresh_inode(inode, fattr); nfs_free_fattr(fattr); out: return error; } Loading