Commit 2bcc0328 authored by Liu Bo's avatar Liu Bo Committed by Chris Mason

Btrfs: show useful info in space reservation tracepoint

o For space info, the type of space info is useful for debug.
o For transaction handle, its transid is useful.
Signed-off-by: default avatarLiu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
parent 7ca4be45
...@@ -3363,8 +3363,7 @@ int btrfs_check_data_free_space(struct inode *inode, u64 bytes) ...@@ -3363,8 +3363,7 @@ int btrfs_check_data_free_space(struct inode *inode, u64 bytes)
} }
data_sinfo->bytes_may_use += bytes; data_sinfo->bytes_may_use += bytes;
trace_btrfs_space_reservation(root->fs_info, "space_info", trace_btrfs_space_reservation(root->fs_info, "space_info",
(u64)(unsigned long)data_sinfo, data_sinfo->flags, bytes, 1);
bytes, 1);
spin_unlock(&data_sinfo->lock); spin_unlock(&data_sinfo->lock);
return 0; return 0;
...@@ -3385,8 +3384,7 @@ void btrfs_free_reserved_data_space(struct inode *inode, u64 bytes) ...@@ -3385,8 +3384,7 @@ void btrfs_free_reserved_data_space(struct inode *inode, u64 bytes)
spin_lock(&data_sinfo->lock); spin_lock(&data_sinfo->lock);
data_sinfo->bytes_may_use -= bytes; data_sinfo->bytes_may_use -= bytes;
trace_btrfs_space_reservation(root->fs_info, "space_info", trace_btrfs_space_reservation(root->fs_info, "space_info",
(u64)(unsigned long)data_sinfo, data_sinfo->flags, bytes, 0);
bytes, 0);
spin_unlock(&data_sinfo->lock); spin_unlock(&data_sinfo->lock);
} }
...@@ -3751,9 +3749,7 @@ static int reserve_metadata_bytes(struct btrfs_root *root, ...@@ -3751,9 +3749,7 @@ static int reserve_metadata_bytes(struct btrfs_root *root,
if (used + orig_bytes <= space_info->total_bytes) { if (used + orig_bytes <= space_info->total_bytes) {
space_info->bytes_may_use += orig_bytes; space_info->bytes_may_use += orig_bytes;
trace_btrfs_space_reservation(root->fs_info, trace_btrfs_space_reservation(root->fs_info,
"space_info", "space_info", space_info->flags, orig_bytes, 1);
(u64)(unsigned long)space_info,
orig_bytes, 1);
ret = 0; ret = 0;
} else { } else {
/* /*
...@@ -3822,9 +3818,7 @@ static int reserve_metadata_bytes(struct btrfs_root *root, ...@@ -3822,9 +3818,7 @@ static int reserve_metadata_bytes(struct btrfs_root *root,
if (used + num_bytes < space_info->total_bytes + avail) { if (used + num_bytes < space_info->total_bytes + avail) {
space_info->bytes_may_use += orig_bytes; space_info->bytes_may_use += orig_bytes;
trace_btrfs_space_reservation(root->fs_info, trace_btrfs_space_reservation(root->fs_info,
"space_info", "space_info", space_info->flags, orig_bytes, 1);
(u64)(unsigned long)space_info,
orig_bytes, 1);
ret = 0; ret = 0;
} else { } else {
wait_ordered = true; wait_ordered = true;
...@@ -3970,8 +3964,7 @@ static void block_rsv_release_bytes(struct btrfs_fs_info *fs_info, ...@@ -3970,8 +3964,7 @@ static void block_rsv_release_bytes(struct btrfs_fs_info *fs_info,
spin_lock(&space_info->lock); spin_lock(&space_info->lock);
space_info->bytes_may_use -= num_bytes; space_info->bytes_may_use -= num_bytes;
trace_btrfs_space_reservation(fs_info, "space_info", trace_btrfs_space_reservation(fs_info, "space_info",
(u64)(unsigned long)space_info, space_info->flags, num_bytes, 0);
num_bytes, 0);
space_info->reservation_progress++; space_info->reservation_progress++;
spin_unlock(&space_info->lock); spin_unlock(&space_info->lock);
} }
...@@ -4189,14 +4182,14 @@ static void update_global_block_rsv(struct btrfs_fs_info *fs_info) ...@@ -4189,14 +4182,14 @@ static void update_global_block_rsv(struct btrfs_fs_info *fs_info)
block_rsv->reserved += num_bytes; block_rsv->reserved += num_bytes;
sinfo->bytes_may_use += num_bytes; sinfo->bytes_may_use += num_bytes;
trace_btrfs_space_reservation(fs_info, "space_info", trace_btrfs_space_reservation(fs_info, "space_info",
(u64)(unsigned long)sinfo, num_bytes, 1); sinfo->flags, num_bytes, 1);
} }
if (block_rsv->reserved >= block_rsv->size) { if (block_rsv->reserved >= block_rsv->size) {
num_bytes = block_rsv->reserved - block_rsv->size; num_bytes = block_rsv->reserved - block_rsv->size;
sinfo->bytes_may_use -= num_bytes; sinfo->bytes_may_use -= num_bytes;
trace_btrfs_space_reservation(fs_info, "space_info", trace_btrfs_space_reservation(fs_info, "space_info",
(u64)(unsigned long)sinfo, num_bytes, 0); sinfo->flags, num_bytes, 0);
sinfo->reservation_progress++; sinfo->reservation_progress++;
block_rsv->reserved = block_rsv->size; block_rsv->reserved = block_rsv->size;
block_rsv->full = 1; block_rsv->full = 1;
...@@ -4250,8 +4243,7 @@ void btrfs_trans_release_metadata(struct btrfs_trans_handle *trans, ...@@ -4250,8 +4243,7 @@ void btrfs_trans_release_metadata(struct btrfs_trans_handle *trans,
return; return;
trace_btrfs_space_reservation(root->fs_info, "transaction", trace_btrfs_space_reservation(root->fs_info, "transaction",
(u64)(unsigned long)trans, trans->transid, trans->bytes_reserved, 0);
trans->bytes_reserved, 0);
btrfs_block_rsv_release(root, trans->block_rsv, trans->bytes_reserved); btrfs_block_rsv_release(root, trans->block_rsv, trans->bytes_reserved);
trans->bytes_reserved = 0; trans->bytes_reserved = 0;
} }
...@@ -4770,9 +4762,8 @@ static int btrfs_update_reserved_bytes(struct btrfs_block_group_cache *cache, ...@@ -4770,9 +4762,8 @@ static int btrfs_update_reserved_bytes(struct btrfs_block_group_cache *cache,
space_info->bytes_reserved += num_bytes; space_info->bytes_reserved += num_bytes;
if (reserve == RESERVE_ALLOC) { if (reserve == RESERVE_ALLOC) {
trace_btrfs_space_reservation(cache->fs_info, trace_btrfs_space_reservation(cache->fs_info,
"space_info", "space_info", space_info->flags,
(u64)(unsigned long)space_info, num_bytes, 0);
num_bytes, 0);
space_info->bytes_may_use -= num_bytes; space_info->bytes_may_use -= num_bytes;
} }
} }
......
...@@ -439,8 +439,7 @@ int btrfs_save_ino_cache(struct btrfs_root *root, ...@@ -439,8 +439,7 @@ int btrfs_save_ino_cache(struct btrfs_root *root,
if (ret) if (ret)
goto out; goto out;
trace_btrfs_space_reservation(root->fs_info, "ino_cache", trace_btrfs_space_reservation(root->fs_info, "ino_cache",
(u64)(unsigned long)trans, trans->transid, trans->bytes_reserved, 1);
trans->bytes_reserved, 1);
again: again:
inode = lookup_free_ino_inode(root, path); inode = lookup_free_ino_inode(root, path);
if (IS_ERR(inode) && (PTR_ERR(inode) != -ENOENT || retry)) { if (IS_ERR(inode) && (PTR_ERR(inode) != -ENOENT || retry)) {
...@@ -507,8 +506,7 @@ int btrfs_save_ino_cache(struct btrfs_root *root, ...@@ -507,8 +506,7 @@ int btrfs_save_ino_cache(struct btrfs_root *root,
iput(inode); iput(inode);
out_release: out_release:
trace_btrfs_space_reservation(root->fs_info, "ino_cache", trace_btrfs_space_reservation(root->fs_info, "ino_cache",
(u64)(unsigned long)trans, trans->transid, trans->bytes_reserved, 0);
trans->bytes_reserved, 0);
btrfs_block_rsv_release(root, trans->block_rsv, trans->bytes_reserved); btrfs_block_rsv_release(root, trans->block_rsv, trans->bytes_reserved);
out: out:
trans->block_rsv = rsv; trans->block_rsv = rsv;
......
...@@ -337,8 +337,7 @@ static struct btrfs_trans_handle *start_transaction(struct btrfs_root *root, ...@@ -337,8 +337,7 @@ static struct btrfs_trans_handle *start_transaction(struct btrfs_root *root,
if (num_bytes) { if (num_bytes) {
trace_btrfs_space_reservation(root->fs_info, "transaction", trace_btrfs_space_reservation(root->fs_info, "transaction",
(u64)(unsigned long)h, h->transid, num_bytes, 1);
num_bytes, 1);
h->block_rsv = &root->fs_info->trans_block_rsv; h->block_rsv = &root->fs_info->trans_block_rsv;
h->bytes_reserved = num_bytes; h->bytes_reserved = num_bytes;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment