From: Mark Fasheh Date: Tue, 12 Jul 2011 18:10:23 +0000 (-0700) Subject: btrfs: Don't BUG_ON alloc_path errors in btrfs_balance() X-Git-Tag: v3.12-rc1~4691^2~55^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=17e9f796bd92cddec17d781c459376f82340fa44;p=kernel%2Fkernel-generic.git btrfs: Don't BUG_ON alloc_path errors in btrfs_balance() Dealing with this seems trivial - the only caller of btrfs_balance() is btrfs_ioctl() which passes the error code directly back to userspace. There also isn't much state to unwind (if I'm wrong about this point, we can always safely move the allocation to the top of btrfs_balance() anyway). Signed-off-by: Mark Fasheh --- diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 19450bc..530a2fc 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -2061,8 +2061,10 @@ int btrfs_balance(struct btrfs_root *dev_root) /* step two, relocate all the chunks */ path = btrfs_alloc_path(); - BUG_ON(!path); - + if (!path) { + ret = -ENOMEM; + goto error; + } key.objectid = BTRFS_FIRST_CHUNK_TREE_OBJECTID; key.offset = (u64)-1; key.type = BTRFS_CHUNK_ITEM_KEY;