[PATCH 12/20] btrfs-progs: mark reloc roots as used
From: Josef Bacik <josef@toxicpanda.com>
Date: 2021-11-05 20:29:08
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Josef Bacik <josef@toxicpanda.com>
Date: 2021-11-05 20:29:08
Subsystem:
the rest · Maintainer:
Linus Torvalds
btrfs_mark_used_tree_blocks skips the reloc roots for some reason, which causes problems because these blocks are in use, and we use this helper to determine if the block accounting is correct with extent tree v2. Signed-off-by: Josef Bacik <josef@toxicpanda.com> --- common/repair.c | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/common/repair.c b/common/repair.c
index 79519140..413c3e86 100644
--- a/common/repair.c
+++ b/common/repair.c@@ -87,10 +87,6 @@ static int traverse_tree_blocks(struct btrfs_fs_info *fs_info, btrfs_item_key_to_cpu(eb, &key, i); if (key.type != BTRFS_ROOT_ITEM_KEY) continue; - /* Skip the extent root and reloc roots */ - if (key.objectid == BTRFS_TREE_RELOC_OBJECTID || - key.objectid == BTRFS_DATA_RELOC_TREE_OBJECTID) - continue; is_extent_root = key.objectid == BTRFS_EXTENT_TREE_OBJECTID; /* If pin, skip the extent root */
--
2.26.3