diff mbox

Btrfs: use tree_root to avoid edquot when disabling quota

Message ID 1365418582-1590-1-git-send-email-wangshilong1991@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Wang Shilong April 8, 2013, 10:56 a.m. UTC
From: Wang Shilong <wangsl-fnst@cn.fujitsu.com>

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>
---
 fs/btrfs/ioctl.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 898c572..180e486 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -3694,7 +3694,7 @@  static long btrfs_ioctl_quota_ctl(struct file *file, void __user *arg)
 	}
 
 	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;
@@ -3720,7 +3720,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;
 	}