Loading fs/9p/vfs_inode.c +12 −3 Original line number Diff line number Diff line Loading @@ -1263,12 +1263,21 @@ static int v9fs_vfs_setattr_dotl(struct dentry *dentry, struct iattr *iattr) return PTR_ERR(fid); retval = p9_client_setattr(fid, &p9attr); if (retval >= 0) retval = inode_setattr(dentry->d_inode, iattr); if (retval < 0) return retval; if ((iattr->ia_valid & ATTR_SIZE) && iattr->ia_size != i_size_read(dentry->d_inode)) { retval = vmtruncate(dentry->d_inode, iattr->ia_size); if (retval) return retval; } setattr_copy(dentry->d_inode, iattr); mark_inode_dirty(dentry->d_inode); return 0; } /** * v9fs_stat2inode - populate an inode structure with mistat info * @stat: Plan 9 metadata (mistat) structure Loading Loading
fs/9p/vfs_inode.c +12 −3 Original line number Diff line number Diff line Loading @@ -1263,12 +1263,21 @@ static int v9fs_vfs_setattr_dotl(struct dentry *dentry, struct iattr *iattr) return PTR_ERR(fid); retval = p9_client_setattr(fid, &p9attr); if (retval >= 0) retval = inode_setattr(dentry->d_inode, iattr); if (retval < 0) return retval; if ((iattr->ia_valid & ATTR_SIZE) && iattr->ia_size != i_size_read(dentry->d_inode)) { retval = vmtruncate(dentry->d_inode, iattr->ia_size); if (retval) return retval; } setattr_copy(dentry->d_inode, iattr); mark_inode_dirty(dentry->d_inode); return 0; } /** * v9fs_stat2inode - populate an inode structure with mistat info * @stat: Plan 9 metadata (mistat) structure Loading