|
@@ -1591,9 +1591,10 @@ int fuse_flush_times(struct inode *inode, struct fuse_file *ff)
|
|
|
* vmtruncate() doesn't allow for this case, so do the rlimit checking
|
|
|
* and the actual truncation by hand.
|
|
|
*/
|
|
|
-int fuse_do_setattr(struct inode *inode, struct iattr *attr,
|
|
|
+int fuse_do_setattr(struct dentry *dentry, struct iattr *attr,
|
|
|
struct file *file)
|
|
|
{
|
|
|
+ struct inode *inode = d_inode(dentry);
|
|
|
struct fuse_conn *fc = get_fuse_conn(inode);
|
|
|
struct fuse_inode *fi = get_fuse_inode(inode);
|
|
|
FUSE_ARGS(args);
|
|
@@ -1707,9 +1708,9 @@ static int fuse_setattr(struct dentry *entry, struct iattr *attr)
|
|
|
return -EACCES;
|
|
|
|
|
|
if (attr->ia_valid & ATTR_FILE)
|
|
|
- return fuse_do_setattr(inode, attr, attr->ia_file);
|
|
|
+ return fuse_do_setattr(entry, attr, attr->ia_file);
|
|
|
else
|
|
|
- return fuse_do_setattr(inode, attr, NULL);
|
|
|
+ return fuse_do_setattr(entry, attr, NULL);
|
|
|
}
|
|
|
|
|
|
static int fuse_getattr(struct vfsmount *mnt, struct dentry *entry,
|