From 65189e4c9a777a0a3158e3224a244605329e44d9 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Thu, 25 Apr 2013 16:04:52 +0000 Subject: [PATCH] --- yaml --- r: 374911 b: refs/heads/master c: 3d7b5a2882133a04716903b1f4878a64c6610842 h: refs/heads/master i: 374909: 3007e51f0d39cc67cb28a336a114d1d1767b4bdd 374907: 0b7a699bb3fcff6d0d37dbb3b482159e3e019eb2 374903: a51813e5b624d8e8372ba6e7240699c09e0a5015 374895: 2da161177a6bb175ef0105f19a5b14233bb36eb0 374879: d722b36e2032c0afba0f7ffda7e3ffc80b12a619 374847: 1ecfc74d25e60116af4c605fa7f04ff3b9d69d8b 374783: 3c01f5abe4f43d6e08ea356d3cabbaa7a394ed73 v: v3 --- [refs] | 2 +- trunk/fs/btrfs/qgroup.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f14988248499..b8c9c56ff15e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2f2320360b0c35b86938bfc561124474f0dac6e4 +refs/heads/master: 3d7b5a2882133a04716903b1f4878a64c6610842 diff --git a/trunk/fs/btrfs/qgroup.c b/trunk/fs/btrfs/qgroup.c index da8458357b57..9d49c586995a 100644 --- a/trunk/fs/btrfs/qgroup.c +++ b/trunk/fs/btrfs/qgroup.c @@ -1493,10 +1493,14 @@ int btrfs_run_qgroups(struct btrfs_trans_handle *trans, { struct btrfs_root *quota_root = fs_info->quota_root; int ret = 0; + int start_rescan_worker = 0; if (!quota_root) goto out; + if (!fs_info->quota_enabled && fs_info->pending_quota_state) + start_rescan_worker = 1; + fs_info->quota_enabled = fs_info->pending_quota_state; spin_lock(&fs_info->qgroup_lock); @@ -1522,6 +1526,13 @@ int btrfs_run_qgroups(struct btrfs_trans_handle *trans, if (ret) fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; + if (!ret && start_rescan_worker) { + ret = btrfs_qgroup_rescan(fs_info); + if (ret) + pr_err("btrfs: start rescan quota failed: %d\n", ret); + ret = 0; + } + out: return ret;