mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 12:42:02 +00:00
btrfs: qgroup: Allow trace_btrfs_qgroup_account_extent() to record its transid
When debugging quota rescan race, some times btrfs rescan could account some old (committed) leaf and then re-account newly committed leaf in next generation. This race needs extra transid to locate, so add @transid for trace_btrfs_qgroup_account_extent() for such debug. Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
f5686e3acd
commit
c9f6f3cd1c
@ -2014,8 +2014,8 @@ btrfs_qgroup_account_extent(struct btrfs_trans_handle *trans,
|
||||
|
||||
BUG_ON(!fs_info->quota_root);
|
||||
|
||||
trace_btrfs_qgroup_account_extent(fs_info, bytenr, num_bytes,
|
||||
nr_old_roots, nr_new_roots);
|
||||
trace_btrfs_qgroup_account_extent(fs_info, trans->transid, bytenr,
|
||||
num_bytes, nr_old_roots, nr_new_roots);
|
||||
|
||||
qgroups = ulist_alloc(GFP_NOFS);
|
||||
if (!qgroups) {
|
||||
|
@ -1578,12 +1578,14 @@ DEFINE_EVENT(btrfs_qgroup_extent, btrfs_qgroup_trace_extent,
|
||||
|
||||
TRACE_EVENT(btrfs_qgroup_account_extent,
|
||||
|
||||
TP_PROTO(const struct btrfs_fs_info *fs_info, u64 bytenr,
|
||||
TP_PROTO(const struct btrfs_fs_info *fs_info, u64 transid, u64 bytenr,
|
||||
u64 num_bytes, u64 nr_old_roots, u64 nr_new_roots),
|
||||
|
||||
TP_ARGS(fs_info, bytenr, num_bytes, nr_old_roots, nr_new_roots),
|
||||
TP_ARGS(fs_info, transid, bytenr, num_bytes, nr_old_roots,
|
||||
nr_new_roots),
|
||||
|
||||
TP_STRUCT__entry_btrfs(
|
||||
__field( u64, transid )
|
||||
__field( u64, bytenr )
|
||||
__field( u64, num_bytes )
|
||||
__field( u64, nr_old_roots )
|
||||
@ -1591,18 +1593,20 @@ TRACE_EVENT(btrfs_qgroup_account_extent,
|
||||
),
|
||||
|
||||
TP_fast_assign_btrfs(fs_info,
|
||||
__entry->transid = transid;
|
||||
__entry->bytenr = bytenr;
|
||||
__entry->num_bytes = num_bytes;
|
||||
__entry->nr_old_roots = nr_old_roots;
|
||||
__entry->nr_new_roots = nr_new_roots;
|
||||
),
|
||||
|
||||
TP_printk_btrfs("bytenr=%llu num_bytes=%llu nr_old_roots=%llu "
|
||||
"nr_new_roots=%llu",
|
||||
__entry->bytenr,
|
||||
__entry->num_bytes,
|
||||
__entry->nr_old_roots,
|
||||
__entry->nr_new_roots)
|
||||
TP_printk_btrfs(
|
||||
"transid=%llu bytenr=%llu num_bytes=%llu nr_old_roots=%llu nr_new_roots=%llu",
|
||||
__entry->transid,
|
||||
__entry->bytenr,
|
||||
__entry->num_bytes,
|
||||
__entry->nr_old_roots,
|
||||
__entry->nr_new_roots)
|
||||
);
|
||||
|
||||
TRACE_EVENT(qgroup_update_counters,
|
||||
|
Loading…
Reference in New Issue
Block a user