diff options
author | Wang Shilong <wangsl-fnst@cn.fujitsu.com> | 2013-04-08 10:56:22 +0000 |
---|---|---|
committer | Josef Bacik <jbacik@fusionio.com> | 2013-05-06 15:54:41 -0400 |
commit | 92f183aa5b8a8655431583e4c53e80fa3e0070e5 (patch) | |
tree | b46918ae6c8d1ab626c804603d11abc5e9628548 /fs/btrfs/ioctl.c | |
parent | ddb47afa50f2f2713ef28d22380d3bf8fae648db (diff) |
Btrfs: use tree_root to avoid edquot when disabling quota
Steps to reproduce:
mkfs.btrfs <disk>
mount <disk> <mnt>
btrfs quota enable <mnt>
btrfs sub create <mnt>/subv
btrfs qgroup limit 10K <mnt>/subv
btrfs quota disable <mnt>/subv
It is wrong for qgroup to reserve when disabling quota,
so just use tree_root to avoid edquot when disabling quota.
Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r-- | fs/btrfs/ioctl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index 4fc9751d2e0c..ace88c1df540 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -3699,7 +3699,7 @@ static long btrfs_ioctl_quota_ctl(struct file *file, void __user *arg) down_write(&root->fs_info->subvol_sem); if (sa->cmd != BTRFS_QUOTA_CTL_RESCAN) { - trans = btrfs_start_transaction(root, 2); + trans = btrfs_start_transaction(root->fs_info->tree_root, 2); if (IS_ERR(trans)) { ret = PTR_ERR(trans); goto out; @@ -3725,7 +3725,7 @@ static long btrfs_ioctl_quota_ctl(struct file *file, void __user *arg) ret = -EFAULT; if (trans) { - err = btrfs_commit_transaction(trans, root); + err = btrfs_commit_transaction(trans, root->fs_info->tree_root); if (err && !ret) ret = err; } |