btrfs: get fs_info from block group in pin_down_extent
We can read fs_info from the block group cache structure and can drop it from the parameters. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
f87b7eb821
commit
fdf08605b9
@ -6392,10 +6392,11 @@ static u64 first_logical_byte(struct btrfs_fs_info *fs_info, u64 search_start)
|
|||||||
return bytenr;
|
return bytenr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pin_down_extent(struct btrfs_fs_info *fs_info,
|
static int pin_down_extent(struct btrfs_block_group_cache *cache,
|
||||||
struct btrfs_block_group_cache *cache,
|
|
||||||
u64 bytenr, u64 num_bytes, int reserved)
|
u64 bytenr, u64 num_bytes, int reserved)
|
||||||
{
|
{
|
||||||
|
struct btrfs_fs_info *fs_info = cache->fs_info;
|
||||||
|
|
||||||
spin_lock(&cache->space_info->lock);
|
spin_lock(&cache->space_info->lock);
|
||||||
spin_lock(&cache->lock);
|
spin_lock(&cache->lock);
|
||||||
cache->pinned += num_bytes;
|
cache->pinned += num_bytes;
|
||||||
@ -6427,7 +6428,7 @@ int btrfs_pin_extent(struct btrfs_fs_info *fs_info,
|
|||||||
cache = btrfs_lookup_block_group(fs_info, bytenr);
|
cache = btrfs_lookup_block_group(fs_info, bytenr);
|
||||||
BUG_ON(!cache); /* Logic error */
|
BUG_ON(!cache); /* Logic error */
|
||||||
|
|
||||||
pin_down_extent(fs_info, cache, bytenr, num_bytes, reserved);
|
pin_down_extent(cache, bytenr, num_bytes, reserved);
|
||||||
|
|
||||||
btrfs_put_block_group(cache);
|
btrfs_put_block_group(cache);
|
||||||
return 0;
|
return 0;
|
||||||
@ -6454,7 +6455,7 @@ int btrfs_pin_extent_for_log_replay(struct btrfs_fs_info *fs_info,
|
|||||||
*/
|
*/
|
||||||
cache_block_group(cache, 1);
|
cache_block_group(cache, 1);
|
||||||
|
|
||||||
pin_down_extent(fs_info, cache, bytenr, num_bytes, 0);
|
pin_down_extent(cache, bytenr, num_bytes, 0);
|
||||||
|
|
||||||
/* remove us from the free space cache (if we're there at all) */
|
/* remove us from the free space cache (if we're there at all) */
|
||||||
ret = btrfs_remove_free_space(cache, bytenr, num_bytes);
|
ret = btrfs_remove_free_space(cache, bytenr, num_bytes);
|
||||||
@ -7206,8 +7207,7 @@ void btrfs_free_tree_block(struct btrfs_trans_handle *trans,
|
|||||||
cache = btrfs_lookup_block_group(fs_info, buf->start);
|
cache = btrfs_lookup_block_group(fs_info, buf->start);
|
||||||
|
|
||||||
if (btrfs_header_flag(buf, BTRFS_HEADER_FLAG_WRITTEN)) {
|
if (btrfs_header_flag(buf, BTRFS_HEADER_FLAG_WRITTEN)) {
|
||||||
pin_down_extent(fs_info, cache, buf->start,
|
pin_down_extent(cache, buf->start, buf->len, 1);
|
||||||
buf->len, 1);
|
|
||||||
btrfs_put_block_group(cache);
|
btrfs_put_block_group(cache);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@ -8182,7 +8182,7 @@ static int __btrfs_free_reserved_extent(struct btrfs_fs_info *fs_info,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (pin)
|
if (pin)
|
||||||
pin_down_extent(fs_info, cache, start, len, 1);
|
pin_down_extent(cache, start, len, 1);
|
||||||
else {
|
else {
|
||||||
if (btrfs_test_opt(fs_info, DISCARD))
|
if (btrfs_test_opt(fs_info, DISCARD))
|
||||||
ret = btrfs_discard_extent(fs_info, start, len, NULL);
|
ret = btrfs_discard_extent(fs_info, start, len, NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user