EXPORT_FOR_TESTS
 struct btrfs_free_space_info *search_free_space_info(
-               struct btrfs_trans_handle *trans, struct btrfs_fs_info *fs_info,
+               struct btrfs_trans_handle *trans,
                struct btrfs_block_group_cache *block_group,
                struct btrfs_path *path, int cow)
 {
+       struct btrfs_fs_info *fs_info = block_group->fs_info;
        struct btrfs_root *root = fs_info->free_space_root;
        struct btrfs_key key;
        int ret;
                btrfs_release_path(path);
        }
 
-       info = search_free_space_info(trans, fs_info, block_group, path, 1);
+       info = search_free_space_info(trans, block_group, path, 1);
        if (IS_ERR(info)) {
                ret = PTR_ERR(info);
                goto out;
                btrfs_release_path(path);
        }
 
-       info = search_free_space_info(trans, fs_info, block_group, path, 1);
+       info = search_free_space_info(trans, block_group, path, 1);
        if (IS_ERR(info)) {
                ret = PTR_ERR(info);
                goto out;
        if (new_extents == 0)
                return 0;
 
-       info = search_free_space_info(trans, trans->fs_info, block_group, path,
-                                     1);
+       info = search_free_space_info(trans, block_group, path, 1);
        if (IS_ERR(info)) {
                ret = PTR_ERR(info);
                goto out;
                        return ret;
        }
 
-       info = search_free_space_info(NULL, trans->fs_info, block_group, path,
-                                     0);
+       info = search_free_space_info(NULL, block_group, path, 0);
        if (IS_ERR(info))
                return PTR_ERR(info);
        flags = btrfs_free_space_flags(path->nodes[0], info);
                             struct btrfs_block_group_cache *block_group,
                             struct btrfs_path *path, u64 start, u64 size)
 {
-       struct btrfs_fs_info *fs_info = trans->fs_info;
        struct btrfs_free_space_info *info;
        u32 flags;
        int ret;
                        return ret;
        }
 
-       info = search_free_space_info(NULL, fs_info, block_group, path, 0);
+       info = search_free_space_info(NULL, block_group, path, 0);
        if (IS_ERR(info))
                return PTR_ERR(info);
        flags = btrfs_free_space_flags(path->nodes[0], info);
 int load_free_space_tree(struct btrfs_caching_control *caching_ctl)
 {
        struct btrfs_block_group_cache *block_group;
-       struct btrfs_fs_info *fs_info;
        struct btrfs_free_space_info *info;
        struct btrfs_path *path;
        u32 extent_count, flags;
        int ret;
 
        block_group = caching_ctl->block_group;
-       fs_info = block_group->fs_info;
 
        path = btrfs_alloc_path();
        if (!path)
        path->search_commit_root = 1;
        path->reada = READA_FORWARD;
 
-       info = search_free_space_info(NULL, fs_info, block_group, path, 0);
+       info = search_free_space_info(NULL, block_group, path, 0);
        if (IS_ERR(info)) {
                ret = PTR_ERR(info);
                goto out;
 
        unsigned int i;
        int ret;
 
-       info = search_free_space_info(trans, fs_info, cache, path, 0);
+       info = search_free_space_info(trans, cache, path, 0);
        if (IS_ERR(info)) {
                test_err("could not find free space info");
                ret = PTR_ERR(info);
        u32 flags;
        int ret;
 
-       info = search_free_space_info(trans, fs_info, cache, path, 0);
+       info = search_free_space_info(trans, cache, path, 0);
        if (IS_ERR(info)) {
                test_err("could not find free space info");
                btrfs_release_path(path);