btrfs: allow idmapped setattr inode op
Enable btrfs_setattr() to handle idmapped mounts. This is just a matter of passing down the mount's userns. Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
98b6ab5fc0
commit
d4d0946461
@ -5392,7 +5392,7 @@ static int btrfs_setattr(struct user_namespace *mnt_userns, struct dentry *dentr
|
||||
if (btrfs_root_readonly(root))
|
||||
return -EROFS;
|
||||
|
||||
err = setattr_prepare(&init_user_ns, dentry, attr);
|
||||
err = setattr_prepare(mnt_userns, dentry, attr);
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
@ -5403,13 +5403,12 @@ static int btrfs_setattr(struct user_namespace *mnt_userns, struct dentry *dentr
|
||||
}
|
||||
|
||||
if (attr->ia_valid) {
|
||||
setattr_copy(&init_user_ns, inode, attr);
|
||||
setattr_copy(mnt_userns, inode, attr);
|
||||
inode_inc_iversion(inode);
|
||||
err = btrfs_dirty_inode(inode);
|
||||
|
||||
if (!err && attr->ia_valid & ATTR_MODE)
|
||||
err = posix_acl_chmod(&init_user_ns, inode,
|
||||
inode->i_mode);
|
||||
err = posix_acl_chmod(mnt_userns, inode, inode->i_mode);
|
||||
}
|
||||
|
||||
return err;
|
||||
|
Loading…
x
Reference in New Issue
Block a user