btrfs: reloc: add backref_cache::fs_info member
Add this member so that we can grab fs_info without the help from reloc_control. Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
8478028933
commit
33a0f1f716
@ -164,6 +164,8 @@ struct backref_cache {
|
|||||||
|
|
||||||
/* The list of useless backref nodes during backref cache build */
|
/* The list of useless backref nodes during backref cache build */
|
||||||
struct list_head useless_node;
|
struct list_head useless_node;
|
||||||
|
|
||||||
|
struct btrfs_fs_info *fs_info;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -266,7 +268,8 @@ static void mapping_tree_init(struct mapping_tree *tree)
|
|||||||
spin_lock_init(&tree->lock);
|
spin_lock_init(&tree->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void backref_cache_init(struct backref_cache *cache)
|
static void backref_cache_init(struct btrfs_fs_info *fs_info,
|
||||||
|
struct backref_cache *cache)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
cache->rb_root = RB_ROOT;
|
cache->rb_root = RB_ROOT;
|
||||||
@ -277,6 +280,7 @@ static void backref_cache_init(struct backref_cache *cache)
|
|||||||
INIT_LIST_HEAD(&cache->leaves);
|
INIT_LIST_HEAD(&cache->leaves);
|
||||||
INIT_LIST_HEAD(&cache->pending_edge);
|
INIT_LIST_HEAD(&cache->pending_edge);
|
||||||
INIT_LIST_HEAD(&cache->useless_node);
|
INIT_LIST_HEAD(&cache->useless_node);
|
||||||
|
cache->fs_info = fs_info;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void backref_cache_cleanup(struct backref_cache *cache)
|
static void backref_cache_cleanup(struct backref_cache *cache)
|
||||||
@ -4188,7 +4192,7 @@ static struct reloc_control *alloc_reloc_control(struct btrfs_fs_info *fs_info)
|
|||||||
|
|
||||||
INIT_LIST_HEAD(&rc->reloc_roots);
|
INIT_LIST_HEAD(&rc->reloc_roots);
|
||||||
INIT_LIST_HEAD(&rc->dirty_subvol_roots);
|
INIT_LIST_HEAD(&rc->dirty_subvol_roots);
|
||||||
backref_cache_init(&rc->backref_cache);
|
backref_cache_init(fs_info, &rc->backref_cache);
|
||||||
mapping_tree_init(&rc->reloc_root_tree);
|
mapping_tree_init(&rc->reloc_root_tree);
|
||||||
extent_io_tree_init(fs_info, &rc->processed_blocks,
|
extent_io_tree_init(fs_info, &rc->processed_blocks,
|
||||||
IO_TREE_RELOC_BLOCKS, NULL);
|
IO_TREE_RELOC_BLOCKS, NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user