summaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorWang Shilong2013-02-20 15:16:14 +0100
committerJosef Bacik2013-02-20 19:00:07 +0100
commit683cebda90787730d5260eac0da7c2bff9fb40ef (patch)
treee2ed3c2cb509502daef0bbe149c53b1f0f7a9342 /fs/btrfs
parentBtrfs: fix cleaner thread not working with inode cache option (diff)
downloadkernel-qcow2-linux-683cebda90787730d5260eac0da7c2bff9fb40ef.tar.gz
kernel-qcow2-linux-683cebda90787730d5260eac0da7c2bff9fb40ef.tar.xz
kernel-qcow2-linux-683cebda90787730d5260eac0da7c2bff9fb40ef.zip
Btrfs: fix missing check before disabling quota
The original code forget to check whether quota has been disabled firstly, and it will return 'EINVAL' and return error to users if quota has been disabled,it will be unfriendly and confusing for users to see that. So just return directly if quota has been disabled. Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com> Cc: Arne Jansen <sensille@gmx.net> Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/qgroup.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index a0d6368249fa..88ab785bbd73 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -847,6 +847,10 @@ int btrfs_quota_disable(struct btrfs_trans_handle *trans,
int ret = 0;
spin_lock(&fs_info->qgroup_lock);
+ if (!fs_info->quota_root) {
+ spin_unlock(&fs_info->qgroup_lock);
+ return 0;
+ }
fs_info->quota_enabled = 0;
fs_info->pending_quota_state = 0;
quota_root = fs_info->quota_root;