btrfs: reloc: open code read_fs_root() for handle_indirect_tree_backref()
authorQu Wenruo <wqu@suse.com>
Thu, 5 Mar 2020 07:16:09 +0000 (15:16 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 May 2020 09:25:21 +0000 (11:25 +0200)
The backref code is going to be moved to backref.c, and read_fs_root()
is just a simple wrapper, open-code it to prepare to the incoming code
move.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/relocation.c

index 2a0a734a5d88f7a8afaf8fe2af5f966269c51e75..b8fc07ad0a646bc205b7d52f26fe867283540223 100644 (file)
@@ -473,12 +473,16 @@ static int handle_indirect_tree_backref(struct btrfs_backref_cache *cache,
        struct btrfs_backref_edge *edge;
        struct extent_buffer *eb;
        struct btrfs_root *root;
+       struct btrfs_key root_key;
        struct rb_node *rb_node;
        int level;
        bool need_check = true;
        int ret;
 
-       root = read_fs_root(fs_info, ref_key->offset);
+       root_key.objectid = ref_key->offset;
+       root_key.type = BTRFS_ROOT_ITEM_KEY;
+       root_key.offset = (u64)-1;
+       root = btrfs_get_fs_root(fs_info, &root_key, false);
        if (IS_ERR(root))
                return PTR_ERR(root);
        if (!test_bit(BTRFS_ROOT_REF_COWS, &root->state))