Эх сурвалжийг харах

btrfs: Remove BUG_ON from __btrfs_alloc_chunk()

We BUG_ON() error from add_extent_mapping(), but that error looks pretty
easy to bubble back up - as far as I can tell there have not been any
permanent modifications to fs state at that point.

Signed-off-by: Mark Fasheh <mfasheh@suse.de>
Mark Fasheh 13 жил өмнө
parent
commit
1dd4602fa7

+ 2 - 1
fs/btrfs/volumes.c

@@ -3327,8 +3327,9 @@ static int __btrfs_alloc_chunk(struct btrfs_trans_handle *trans,
 	write_lock(&em_tree->lock);
 	write_lock(&em_tree->lock);
 	ret = add_extent_mapping(em_tree, em);
 	ret = add_extent_mapping(em_tree, em);
 	write_unlock(&em_tree->lock);
 	write_unlock(&em_tree->lock);
-	BUG_ON(ret);
 	free_extent_map(em);
 	free_extent_map(em);
+	if (ret)
+		goto error;
 
 
 	ret = btrfs_make_block_group(trans, extent_root, 0, type,
 	ret = btrfs_make_block_group(trans, extent_root, 0, type,
 				     BTRFS_FIRST_CHUNK_TREE_OBJECTID,
 				     BTRFS_FIRST_CHUNK_TREE_OBJECTID,