Home Home > GIT Browse > SLE12-SP3
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2019-05-20 15:40:14 +0800
committerQu Wenruo <wqu@suse.com>2019-05-20 15:40:14 +0800
commit7021890a58c34672c98dbec220192f55b18e4b65 (patch)
treec3cf10a84965a9fa38908dfe6d06571ba3375987
parent8613f84ea79947662740f1c2aef549d4b8842832 (diff)
btrfs: qgroup: Don't scan leaf if we're modifying reloc tree
(bsc#1063638 bsc#1128052 bsc#1108838). suse-commit: 6a8288c8ee4f143e077f6540aa8043c2539fb269
-rw-r--r--fs/btrfs/extent-tree.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 0a339b7c84ac..4ce94643d98a 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -8910,11 +8910,13 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,
else
ret = btrfs_dec_ref(trans, root, eb, 0);
BUG_ON(ret); /* -ENOMEM */
- ret = btrfs_qgroup_trace_leaf_items(trans, root, eb);
- if (ret) {
- btrfs_err_rl(root->fs_info,
- "error %d accounting leaf items. Quota is out of sync, rescan required.",
- ret);
+ if (is_fstree(root->root_key.objectid)) {
+ ret = btrfs_qgroup_trace_leaf_items(trans, root, eb);
+ if (ret) {
+ btrfs_err_rl(root->fs_info,
+ "error %d accounting leaf items. Quota is out of sync, rescan required.",
+ ret);
+ }
}
}
/* make block locked assertion in clean_tree_block happy */