Btrfs: pass the correct root to lookup_free_space_inode()
authorIlya Dryomov <idryomov@gmail.com>
Sun, 2 Oct 2011 10:56:53 +0000 (13:56 +0300)
committerDavid Sterba <dsterba@suse.cz>
Thu, 20 Oct 2011 16:10:46 +0000 (18:10 +0200)
Free space items are located in tree of tree roots, not in the extent
tree.  It didn't pop up because lookup_free_space_inode() grabs the
inode all the time instead of actually searching the tree.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/btrfs/extent-tree.c

index 4eb7d2b..6cfcc90 100644 (file)
@@ -7312,7 +7312,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
                goto out;
        }
 
-       inode = lookup_free_space_inode(root, block_group, path);
+       inode = lookup_free_space_inode(tree_root, block_group, path);
        if (!IS_ERR(inode)) {
                ret = btrfs_orphan_add(trans, inode);
                BUG_ON(ret);