]> git.hungrycats.org Git - linux/commitdiff
btrfs: qgroup: clear STATUS_FLAG_ON in disabling quota.
authorDongsheng Yang <yangds.fnst@cn.fujitsu.com>
Fri, 27 Feb 2015 08:24:26 +0000 (16:24 +0800)
committerZygo Blaxell <zblaxell@serenity.furryterror.org>
Sun, 19 Apr 2015 15:57:01 +0000 (11:57 -0400)
we forgot to clear STATUS_FLAG_ON in quota_disable(), it
will cause a problem shown as below:

# mount /dev/sdc /mnt
# btrfs quota enable /mnt
# btrfs quota disable /mnt
# btrfs quota rescan /mnt
quota rescan started <--- expecting it fail here.
# echo $?
0

Signed-off-by: Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
Reviewed-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
(cherry picked from commit 8ea0ec9e011eb542a3e7b1171776aa4877cf8a90)

fs/btrfs/qgroup.c

index a1954a92de862a4ca8f4e4c87528d241d6cc8e26..c75bdbf0ab5d47000b3a5606a16f1ab86e4830aa 100644 (file)
@@ -966,6 +966,7 @@ int btrfs_quota_disable(struct btrfs_trans_handle *trans,
        fs_info->pending_quota_state = 0;
        quota_root = fs_info->quota_root;
        fs_info->quota_root = NULL;
+       fs_info->qgroup_flags &= ~BTRFS_QGROUP_STATUS_FLAG_ON;
        spin_unlock(&fs_info->qgroup_lock);
 
        btrfs_free_qgroup_config(fs_info);