|
@@ -993,18 +993,16 @@ static int v9fs_vfs_setattr(struct dentry *dentry, struct iattr *iattr)
|
|
if (iattr->ia_valid & ATTR_GID)
|
|
if (iattr->ia_valid & ATTR_GID)
|
|
wstat.n_gid = iattr->ia_gid;
|
|
wstat.n_gid = iattr->ia_gid;
|
|
}
|
|
}
|
|
-
|
|
|
|
- retval = p9_client_wstat(fid, &wstat);
|
|
|
|
- if (retval < 0)
|
|
|
|
- return retval;
|
|
|
|
-
|
|
|
|
- v9fs_invalidate_inode_attr(dentry->d_inode);
|
|
|
|
if ((iattr->ia_valid & ATTR_SIZE) &&
|
|
if ((iattr->ia_valid & ATTR_SIZE) &&
|
|
iattr->ia_size != i_size_read(dentry->d_inode)) {
|
|
iattr->ia_size != i_size_read(dentry->d_inode)) {
|
|
retval = vmtruncate(dentry->d_inode, iattr->ia_size);
|
|
retval = vmtruncate(dentry->d_inode, iattr->ia_size);
|
|
if (retval)
|
|
if (retval)
|
|
return retval;
|
|
return retval;
|
|
}
|
|
}
|
|
|
|
+ retval = p9_client_wstat(fid, &wstat);
|
|
|
|
+ if (retval < 0)
|
|
|
|
+ return retval;
|
|
|
|
+ v9fs_invalidate_inode_attr(dentry->d_inode);
|
|
|
|
|
|
setattr_copy(dentry->d_inode, iattr);
|
|
setattr_copy(dentry->d_inode, iattr);
|
|
mark_inode_dirty(dentry->d_inode);
|
|
mark_inode_dirty(dentry->d_inode);
|