forked from Minki/linux
btrfs: roll tracepoint into btrfs_space_info_update helper
We duplicate this tracepoint everywhere we call these helpers, so update the helper to have the tracepoint as well. Signed-off-by: Josef Bacik <josef@toxicpanda.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
ef1317a1b9
commit
f3e75e3805
@ -2696,9 +2696,6 @@ int btrfs_update_block_group(struct btrfs_trans_handle *trans,
|
||||
spin_unlock(&cache->lock);
|
||||
spin_unlock(&cache->space_info->lock);
|
||||
|
||||
trace_btrfs_space_reservation(info, "pinned",
|
||||
cache->space_info->flags,
|
||||
num_bytes, 1);
|
||||
percpu_counter_add_batch(
|
||||
&cache->space_info->total_bytes_pinned,
|
||||
num_bytes,
|
||||
|
@ -283,16 +283,11 @@ void btrfs_update_global_block_rsv(struct btrfs_fs_info *fs_info)
|
||||
block_rsv->reserved += num_bytes;
|
||||
btrfs_space_info_update_bytes_may_use(fs_info, sinfo,
|
||||
num_bytes);
|
||||
trace_btrfs_space_reservation(fs_info, "space_info",
|
||||
sinfo->flags, num_bytes,
|
||||
1);
|
||||
}
|
||||
} else if (block_rsv->reserved > block_rsv->size) {
|
||||
num_bytes = block_rsv->reserved - block_rsv->size;
|
||||
btrfs_space_info_update_bytes_may_use(fs_info, sinfo,
|
||||
-num_bytes);
|
||||
trace_btrfs_space_reservation(fs_info, "space_info",
|
||||
sinfo->flags, num_bytes, 0);
|
||||
block_rsv->reserved = block_rsv->size;
|
||||
}
|
||||
|
||||
|
@ -130,8 +130,6 @@ commit_trans:
|
||||
return -ENOSPC;
|
||||
}
|
||||
btrfs_space_info_update_bytes_may_use(fs_info, data_sinfo, bytes);
|
||||
trace_btrfs_space_reservation(fs_info, "space_info",
|
||||
data_sinfo->flags, bytes, 1);
|
||||
spin_unlock(&data_sinfo->lock);
|
||||
|
||||
return 0;
|
||||
@ -183,8 +181,6 @@ void btrfs_free_reserved_data_space_noquota(struct inode *inode, u64 start,
|
||||
data_sinfo = fs_info->data_sinfo;
|
||||
spin_lock(&data_sinfo->lock);
|
||||
btrfs_space_info_update_bytes_may_use(fs_info, data_sinfo, -len);
|
||||
trace_btrfs_space_reservation(fs_info, "space_info",
|
||||
data_sinfo->flags, len, 0);
|
||||
spin_unlock(&data_sinfo->lock);
|
||||
}
|
||||
|
||||
|
@ -2583,8 +2583,6 @@ static int pin_down_extent(struct btrfs_block_group_cache *cache,
|
||||
spin_unlock(&cache->lock);
|
||||
spin_unlock(&cache->space_info->lock);
|
||||
|
||||
trace_btrfs_space_reservation(fs_info, "pinned",
|
||||
cache->space_info->flags, num_bytes, 1);
|
||||
percpu_counter_add_batch(&cache->space_info->total_bytes_pinned,
|
||||
num_bytes, BTRFS_TOTAL_BYTES_PINNED_BATCH);
|
||||
set_extent_dirty(fs_info->pinned_extents, bytenr,
|
||||
@ -2842,9 +2840,6 @@ static int unpin_extent_range(struct btrfs_fs_info *fs_info,
|
||||
spin_lock(&cache->lock);
|
||||
cache->pinned -= len;
|
||||
btrfs_space_info_update_bytes_pinned(fs_info, space_info, -len);
|
||||
|
||||
trace_btrfs_space_reservation(fs_info, "pinned",
|
||||
space_info->flags, len, 0);
|
||||
space_info->max_extent_size = 0;
|
||||
percpu_counter_add_batch(&space_info->total_bytes_pinned,
|
||||
-len, BTRFS_TOTAL_BYTES_PINNED_BATCH);
|
||||
@ -2866,10 +2861,6 @@ static int unpin_extent_range(struct btrfs_fs_info *fs_info,
|
||||
space_info, to_add);
|
||||
if (global_rsv->reserved >= global_rsv->size)
|
||||
global_rsv->full = 1;
|
||||
trace_btrfs_space_reservation(fs_info,
|
||||
"space_info",
|
||||
space_info->flags,
|
||||
to_add, 1);
|
||||
len -= to_add;
|
||||
}
|
||||
spin_unlock(&global_rsv->lock);
|
||||
|
@ -279,8 +279,6 @@ again:
|
||||
goto again;
|
||||
}
|
||||
btrfs_space_info_update_bytes_may_use(fs_info, space_info, -num_bytes);
|
||||
trace_btrfs_space_reservation(fs_info, "space_info",
|
||||
space_info->flags, num_bytes, 0);
|
||||
spin_unlock(&space_info->lock);
|
||||
}
|
||||
|
||||
@ -301,9 +299,6 @@ again:
|
||||
ticket = list_first_entry(head, struct reserve_ticket,
|
||||
list);
|
||||
if (num_bytes >= ticket->bytes) {
|
||||
trace_btrfs_space_reservation(fs_info, "space_info",
|
||||
space_info->flags,
|
||||
ticket->bytes, 1);
|
||||
list_del_init(&ticket->list);
|
||||
num_bytes -= ticket->bytes;
|
||||
btrfs_space_info_update_bytes_may_use(fs_info,
|
||||
@ -313,9 +308,6 @@ again:
|
||||
space_info->tickets_id++;
|
||||
wake_up(&ticket->wait);
|
||||
} else {
|
||||
trace_btrfs_space_reservation(fs_info, "space_info",
|
||||
space_info->flags,
|
||||
num_bytes, 1);
|
||||
btrfs_space_info_update_bytes_may_use(fs_info,
|
||||
space_info,
|
||||
num_bytes);
|
||||
@ -1014,8 +1006,6 @@ static int __reserve_metadata_bytes(struct btrfs_fs_info *fs_info,
|
||||
system_chunk))) {
|
||||
btrfs_space_info_update_bytes_may_use(fs_info, space_info,
|
||||
orig_bytes);
|
||||
trace_btrfs_space_reservation(fs_info, "space_info",
|
||||
space_info->flags, orig_bytes, 1);
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
|
@ -87,14 +87,18 @@ static inline bool btrfs_mixed_space_info(struct btrfs_space_info *space_info)
|
||||
*
|
||||
* Declare a helper function to detect underflow of various space info members
|
||||
*/
|
||||
#define DECLARE_SPACE_INFO_UPDATE(name) \
|
||||
#define DECLARE_SPACE_INFO_UPDATE(name, trace_name) \
|
||||
static inline void \
|
||||
btrfs_space_info_update_##name(struct btrfs_fs_info *fs_info, \
|
||||
struct btrfs_space_info *sinfo, \
|
||||
s64 bytes) \
|
||||
{ \
|
||||
const u64 abs_bytes = (bytes < 0) ? -bytes : bytes; \
|
||||
lockdep_assert_held(&sinfo->lock); \
|
||||
trace_update_##name(fs_info, sinfo, sinfo->name, bytes); \
|
||||
trace_btrfs_space_reservation(fs_info, trace_name, \
|
||||
sinfo->flags, abs_bytes, \
|
||||
bytes > 0); \
|
||||
if (bytes < 0 && sinfo->name < -bytes) { \
|
||||
WARN_ON(1); \
|
||||
sinfo->name = 0; \
|
||||
@ -103,8 +107,8 @@ btrfs_space_info_update_##name(struct btrfs_fs_info *fs_info, \
|
||||
sinfo->name += bytes; \
|
||||
}
|
||||
|
||||
DECLARE_SPACE_INFO_UPDATE(bytes_may_use);
|
||||
DECLARE_SPACE_INFO_UPDATE(bytes_pinned);
|
||||
DECLARE_SPACE_INFO_UPDATE(bytes_may_use, "space_info");
|
||||
DECLARE_SPACE_INFO_UPDATE(bytes_pinned, "pinned");
|
||||
|
||||
void btrfs_space_info_add_new_bytes(struct btrfs_fs_info *fs_info,
|
||||
struct btrfs_space_info *space_info,
|
||||
|
Loading…
Reference in New Issue
Block a user