From: Filipe Manana Date: Mon, 20 Oct 2025 12:40:56 +0000 (+0100) Subject: btrfs: use local variable for space_info in pin_down_extent() X-Git-Tag: v6.19-rc1~167^2~82 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ec8022cd2656935bdf0be13110c1a27dfe154aaf;p=thirdparty%2Fkernel%2Flinux.git btrfs: use local variable for space_info in pin_down_extent() Instead of dereferencing the block group multiple times to access its space_info, use a local variable to shorten the code horizontal wise and make it easier to read. Also, while at it, also rename the block group argument from 'cache' to 'bg', as the cache name is confusing and it's from the old days where the block group structure was named as 'btrfs_block_group_cache'. Reviewed-by: Johannes Thumshirn Signed-off-by: Filipe Manana Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 70b77fe21b9fd..4be20949f0ba1 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -2591,19 +2591,20 @@ static u64 first_logical_byte(struct btrfs_fs_info *fs_info) } static int pin_down_extent(struct btrfs_trans_handle *trans, - struct btrfs_block_group *cache, + struct btrfs_block_group *bg, u64 bytenr, u64 num_bytes, int reserved) { + struct btrfs_space_info *space_info = bg->space_info; const u64 reserved_bytes = (reserved ? num_bytes : 0); - spin_lock(&cache->space_info->lock); - spin_lock(&cache->lock); - cache->pinned += num_bytes; - cache->reserved -= reserved_bytes; - spin_unlock(&cache->lock); - cache->space_info->bytes_reserved -= reserved_bytes; - btrfs_space_info_update_bytes_pinned(cache->space_info, num_bytes); - spin_unlock(&cache->space_info->lock); + spin_lock(&space_info->lock); + spin_lock(&bg->lock); + bg->pinned += num_bytes; + bg->reserved -= reserved_bytes; + spin_unlock(&bg->lock); + space_info->bytes_reserved -= reserved_bytes; + btrfs_space_info_update_bytes_pinned(space_info, num_bytes); + spin_unlock(&space_info->lock); btrfs_set_extent_bit(&trans->transaction->pinned_extents, bytenr, bytenr + num_bytes - 1, EXTENT_DIRTY, NULL);