Skip to contentSkip to conversation

btrfs: Fix BUG_ON for fs converted from extN

PATCH New Yan, Zheng 1 participant 1 message May 31, 2010 Btrfs file system

lore
Share & tools
lore

Yan, Zheng

author
#0 lore raw

PATCH 1/1 btrfs: Fix BUG_ON for fs converted from extN

Tree blocks can live in data block groups in FS converted from extN. So it's easy to trigger the BUG_ON.

---

fs/btrfs/extent-tree.c +2 -1
diff -urp 1/fs/btrfs/extent-tree.c 3/fs/btrfs/extent-tree.c
@@ -4360,7 +4360,8 @@ void btrfs_free_tree_block(struct btrfs_
 
 	block_rsv = get_block_rsv(trans, root);
 	cache = btrfs_lookup_block_group(root->fs_info, buf->start);
-	BUG_ON(block_rsv->space_info != cache->space_info);
+	if (block_rsv->space_info != cache->space_info)
+		goto out;
 
 	if (btrfs_header_generation(buf) == trans->transid) {
 		if (root->root_key.objectid != BTRFS_TREE_LOG_OBJECTID) {