]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
btrfs: Remove BUG_ON from __btrfs_alloc_chunk()
authorMark Fasheh <mfasheh@suse.de>
Fri, 9 Sep 2011 00:29:00 +0000 (17:29 -0700)
committerDavid Sterba <dsterba@suse.cz>
Thu, 22 Mar 2012 00:45:39 +0000 (01:45 +0100)
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>
fs/btrfs/volumes.c

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