Btrfs: balance_level checks !child after access
authorJeff Mahoney <jeffm@suse.com>
Thu, 12 Feb 2009 15:06:15 +0000 (10:06 -0500)
committerChris Mason <chris.mason@oracle.com>
Thu, 12 Feb 2009 15:06:15 +0000 (10:06 -0500)
The BUG_ON() is in the wrong spot.

Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/ctree.c

index 35443cc..6674692 100644 (file)
@@ -917,9 +917,9 @@ static noinline int balance_level(struct btrfs_trans_handle *trans,
 
                /* promote the child to a root */
                child = read_node_slot(root, mid, 0);
+               BUG_ON(!child);
                btrfs_tree_lock(child);
                btrfs_set_lock_blocking(child);
-               BUG_ON(!child);
                ret = btrfs_cow_block(trans, root, child, mid, 0, &child, 0);
                BUG_ON(ret);