Skip to content

Commit

Permalink
btrfs: make __btrfs_add_free_space take just block group reference
Browse files Browse the repository at this point in the history
There is no point in the function taking an fs_info and a
btrfs_free_space because the ctl passed always belongs to the block
group. Furthermore fs_info can be referenced from the block group. No
functional changes.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
  • Loading branch information
Nikolay Borisov authored and David Sterba committed Jan 3, 2022
1 parent 32e1649 commit 290ef19
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 19 deletions.
25 changes: 10 additions & 15 deletions fs/btrfs/free-space-cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -2540,12 +2540,12 @@ static void steal_from_bitmap(struct btrfs_free_space_ctl *ctl,
}
}

int __btrfs_add_free_space(struct btrfs_fs_info *fs_info,
struct btrfs_free_space_ctl *ctl,
int __btrfs_add_free_space(struct btrfs_block_group *block_group,
u64 offset, u64 bytes,
enum btrfs_trim_state trim_state)
{
struct btrfs_block_group *block_group = ctl->private;
struct btrfs_fs_info *fs_info = block_group->fs_info;
struct btrfs_free_space_ctl *ctl = block_group->free_space_ctl;
struct btrfs_free_space *info;
int ret = 0;
u64 filter_bytes = bytes;
Expand Down Expand Up @@ -2677,9 +2677,7 @@ int btrfs_add_free_space(struct btrfs_block_group *block_group,
if (btrfs_test_opt(block_group->fs_info, DISCARD_SYNC))
trim_state = BTRFS_TRIM_STATE_TRIMMED;

return __btrfs_add_free_space(block_group->fs_info,
block_group->free_space_ctl,
bytenr, size, trim_state);
return __btrfs_add_free_space(block_group, bytenr, size, trim_state);
}

int btrfs_add_free_space_unused(struct btrfs_block_group *block_group,
Expand Down Expand Up @@ -2710,9 +2708,7 @@ int btrfs_add_free_space_async_trimmed(struct btrfs_block_group *block_group,
btrfs_test_opt(block_group->fs_info, DISCARD_ASYNC))
trim_state = BTRFS_TRIM_STATE_TRIMMED;

return __btrfs_add_free_space(block_group->fs_info,
block_group->free_space_ctl,
bytenr, size, trim_state);
return __btrfs_add_free_space(block_group, bytenr, size, trim_state);
}

int btrfs_remove_free_space(struct btrfs_block_group *block_group,
Expand Down Expand Up @@ -2807,7 +2803,7 @@ int btrfs_remove_free_space(struct btrfs_block_group *block_group,
}
spin_unlock(&ctl->tree_lock);

ret = __btrfs_add_free_space(block_group->fs_info, ctl,
ret = __btrfs_add_free_space(block_group,
offset + bytes,
old_end - (offset + bytes),
info->trim_state);
Expand Down Expand Up @@ -3086,8 +3082,7 @@ u64 btrfs_find_space_for_alloc(struct btrfs_block_group *block_group,
spin_unlock(&ctl->tree_lock);

if (align_gap_len)
__btrfs_add_free_space(block_group->fs_info, ctl,
align_gap, align_gap_len,
__btrfs_add_free_space(block_group, align_gap, align_gap_len,
align_gap_trim_state);
return ret;
}
Expand Down Expand Up @@ -3627,13 +3622,13 @@ static int do_trimming(struct btrfs_block_group *block_group,

mutex_lock(&ctl->cache_writeout_mutex);
if (reserved_start < start)
__btrfs_add_free_space(fs_info, ctl, reserved_start,
__btrfs_add_free_space(block_group, reserved_start,
start - reserved_start,
reserved_trim_state);
if (start + bytes < reserved_start + reserved_bytes)
__btrfs_add_free_space(fs_info, ctl, end, reserved_end - end,
__btrfs_add_free_space(block_group, end, reserved_end - end,
reserved_trim_state);
__btrfs_add_free_space(fs_info, ctl, start, bytes, trim_state);
__btrfs_add_free_space(block_group, start, bytes, trim_state);
list_del(&trim_entry->list);
mutex_unlock(&ctl->cache_writeout_mutex);

Expand Down
6 changes: 2 additions & 4 deletions fs/btrfs/free-space-cache.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,10 +103,8 @@ int btrfs_write_out_cache(struct btrfs_trans_handle *trans,

void btrfs_init_free_space_ctl(struct btrfs_block_group *block_group,
struct btrfs_free_space_ctl *ctl);
int __btrfs_add_free_space(struct btrfs_fs_info *fs_info,
struct btrfs_free_space_ctl *ctl,
u64 bytenr, u64 size,
enum btrfs_trim_state trim_state);
int __btrfs_add_free_space(struct btrfs_block_group *block_group, u64 bytenr,
u64 size, enum btrfs_trim_state trim_state);
int btrfs_add_free_space(struct btrfs_block_group *block_group,
u64 bytenr, u64 size);
int btrfs_add_free_space_unused(struct btrfs_block_group *block_group,
Expand Down

0 comments on commit 290ef19

Please sign in to comment.