btrfs: backref: rename and move backref_tree_panic()

Also change the parameter, since all callers can easily grab an fs_info,
there is no need for all the pointer chasing.

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:
Qu Wenruo 2020-03-26 14:21:36 +08:00 committed by David Sterba
parent 13fe1bdb22
commit 982c92cbd5
2 changed files with 17 additions and 20 deletions

View File

@ -355,4 +355,12 @@ void btrfs_backref_cleanup_node(struct btrfs_backref_cache *cache,
void btrfs_backref_release_cache(struct btrfs_backref_cache *cache); void btrfs_backref_release_cache(struct btrfs_backref_cache *cache);
static inline void btrfs_backref_panic(struct btrfs_fs_info *fs_info,
u64 bytenr, int errno)
{
btrfs_panic(fs_info, errno,
"Inconsistency in backref cache found at offset %llu",
bytenr);
}
#endif #endif

View File

@ -175,19 +175,6 @@ static void mapping_tree_init(struct mapping_tree *tree)
spin_lock_init(&tree->lock); spin_lock_init(&tree->lock);
} }
static void backref_tree_panic(struct rb_node *rb_node, int errno, u64 bytenr)
{
struct btrfs_fs_info *fs_info = NULL;
struct btrfs_backref_node *bnode = rb_entry(rb_node,
struct btrfs_backref_node, rb_node);
if (bnode->root)
fs_info = bnode->root->fs_info;
btrfs_panic(fs_info, errno,
"Inconsistency in backref cache found at offset %llu",
bytenr);
}
/* /*
* walk up backref nodes until reach node presents tree root * walk up backref nodes until reach node presents tree root
*/ */
@ -244,7 +231,7 @@ static void update_backref_node(struct btrfs_backref_cache *cache,
node->bytenr = bytenr; node->bytenr = bytenr;
rb_node = rb_simple_insert(&cache->rb_root, node->bytenr, &node->rb_node); rb_node = rb_simple_insert(&cache->rb_root, node->bytenr, &node->rb_node);
if (rb_node) if (rb_node)
backref_tree_panic(rb_node, -EEXIST, bytenr); btrfs_backref_panic(cache->fs_info, bytenr, -EEXIST);
} }
/* /*
@ -765,7 +752,8 @@ static int finish_upper_links(struct btrfs_backref_cache *cache,
rb_node = rb_simple_insert(&cache->rb_root, start->bytenr, rb_node = rb_simple_insert(&cache->rb_root, start->bytenr,
&start->rb_node); &start->rb_node);
if (rb_node) if (rb_node)
backref_tree_panic(rb_node, -EEXIST, start->bytenr); btrfs_backref_panic(cache->fs_info, start->bytenr,
-EEXIST);
list_add_tail(&start->lower, &cache->leaves); list_add_tail(&start->lower, &cache->leaves);
} }
@ -833,8 +821,8 @@ static int finish_upper_links(struct btrfs_backref_cache *cache,
rb_node = rb_simple_insert(&cache->rb_root, upper->bytenr, rb_node = rb_simple_insert(&cache->rb_root, upper->bytenr,
&upper->rb_node); &upper->rb_node);
if (rb_node) { if (rb_node) {
backref_tree_panic(rb_node, -EEXIST, btrfs_backref_panic(cache->fs_info,
upper->bytenr); upper->bytenr, -EEXIST);
return -EUCLEAN; return -EUCLEAN;
} }
} }
@ -1127,7 +1115,7 @@ static int clone_backref_node(struct btrfs_trans_handle *trans,
rb_node = rb_simple_insert(&cache->rb_root, new_node->bytenr, rb_node = rb_simple_insert(&cache->rb_root, new_node->bytenr,
&new_node->rb_node); &new_node->rb_node);
if (rb_node) if (rb_node)
backref_tree_panic(rb_node, -EEXIST, new_node->bytenr); btrfs_backref_panic(trans->fs_info, new_node->bytenr, -EEXIST);
if (!new_node->lowest) { if (!new_node->lowest) {
list_for_each_entry(new_edge, &new_node->lower, list[UPPER]) { list_for_each_entry(new_edge, &new_node->lower, list[UPPER]) {
@ -1254,7 +1242,7 @@ static int __update_reloc_root(struct btrfs_root *root)
node->bytenr, &node->rb_node); node->bytenr, &node->rb_node);
spin_unlock(&rc->reloc_root_tree.lock); spin_unlock(&rc->reloc_root_tree.lock);
if (rb_node) if (rb_node)
backref_tree_panic(rb_node, -EEXIST, node->bytenr); btrfs_backref_panic(fs_info, node->bytenr, -EEXIST);
return 0; return 0;
} }
@ -3411,7 +3399,8 @@ static int add_tree_block(struct reloc_control *rc,
rb_node = rb_simple_insert(blocks, block->bytenr, &block->rb_node); rb_node = rb_simple_insert(blocks, block->bytenr, &block->rb_node);
if (rb_node) if (rb_node)
backref_tree_panic(rb_node, -EEXIST, block->bytenr); btrfs_backref_panic(rc->extent_root->fs_info, block->bytenr,
-EEXIST);
return 0; return 0;
} }