Hi all, Dave has periodically complained on IRC about inconsistencies in the printk format strings for XFS tracepoints. He's right -- inodes and block numbers are sometimes printed in decimal and other times in hex. Worse yet, the tags associated with the names are also inconsistent and aren't clear about the units of the numbers reported. Most "blocks" and "length" fields are fs blocks, but some are daddrs, some are byte counts, etc. Sooo... here's a disruptive bikeshed-attractor patchset that changes all those numbers to hexadecimal and tries to make the naming consistent. Or at least more consistent than they are now. Here's the cleaned up nomenclature, starting with the ones that were already in use: ino: filesystem inode number agino: per-AG inode number agno: allocation group number agbno: per-AG block number in fs blocks owner: reverse-mapping owner, usually inodes daddr: physical block number in 512b blocks startblock: physical block number for file mappings. This is either a segmented fsblock for data device mappings, or a rfsblock for realtime device mappings fileoff: file offset, in fs blocks pos: file offset, in bytes forkoff: inode fork offset, in bytes icount: number of inode records disize: ondisk file size, in bytes isize: incore file size, in bytes And here are three new tags: blockcount: number of blocks in an extent, in fs blocks daddrcount: number of blocks in a physical extent, in 512b blocks bytecount: number of bytes If you're going to start using this mess, you probably ought to just pull from my git trees, which are linked below. This is an extraordinary way to destroy everything. Enjoy! Comments and questions are, as always, welcome. --D kernel git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=standardize-tracepoints-5.15 --- fs/xfs/libxfs/xfs_types.h | 5 + fs/xfs/scrub/trace.h | 74 ++++++++++---------- fs/xfs/xfs_trace.h | 169 ++++++++++++++++++++++----------------------- 3 files changed, 127 insertions(+), 121 deletions(-)
From: Darrick J. Wong <djwong@kernel.org> XFS_DADDR_TO_FSB converts a raw disk address (in units of 512b blocks) to a raw disk address (in units of fs blocks). Unfortunately, the xchk_block_error_class tracepoints incorrectly uses this to decode xfs_daddr_t into segmented AG number and AG block addresses. Use the correct translation code. Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/scrub/trace.h | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index e46f5cef90da..29f1d0ac7ec5 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -193,29 +193,21 @@ DECLARE_EVENT_CLASS(xchk_block_error_class, __field(dev_t, dev) __field(unsigned int, type) __field(xfs_agnumber_t, agno) - __field(xfs_agblock_t, bno) + __field(xfs_agblock_t, agbno) __field(void *, ret_ip) ), TP_fast_assign( - xfs_fsblock_t fsbno; - xfs_agnumber_t agno; - xfs_agblock_t bno; - - fsbno = XFS_DADDR_TO_FSB(sc->mp, daddr); - agno = XFS_FSB_TO_AGNO(sc->mp, fsbno); - bno = XFS_FSB_TO_AGBNO(sc->mp, fsbno); - __entry->dev = sc->mp->m_super->s_dev; __entry->type = sc->sm->sm_type; - __entry->agno = agno; - __entry->bno = bno; + __entry->agno = xfs_daddr_to_agno(sc->mp, daddr); + __entry->agbno = xfs_daddr_to_agbno(sc->mp, daddr); __entry->ret_ip = ret_ip; ), TP_printk("dev %d:%d type %s agno %u agbno %u ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __entry->agno, - __entry->bno, + __entry->agbno, __entry->ret_ip) )
From: Darrick J. Wong <djwong@kernel.org> Always print inode numbers in hexadecimal and preceded with the unit "ino" or "agino", as apropriate. Fix one tracepoint that used "ino %u" for an inode btree block count to reduce confusion. Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/scrub/trace.h | 8 ++++---- fs/xfs/xfs_trace.h | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index 29f1d0ac7ec5..e6e70d5870a2 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -103,7 +103,7 @@ DECLARE_EVENT_CLASS(xchk_class, __entry->flags = sm->sm_flags; __entry->error = error; ), - TP_printk("dev %d:%d ino 0x%llx type %s agno %u inum %llu gen %u flags 0x%x error %d", + TP_printk("dev %d:%d ino 0x%llx type %s agno %u inum 0x%llx gen %u flags 0x%x error %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), @@ -572,7 +572,7 @@ TRACE_EVENT(xchk_iallocbt_check_cluster, __entry->holemask = holemask; __entry->cluster_ino = cluster_ino; ), - TP_printk("dev %d:%d agno %d startino %u daddr 0x%llx len %d chunkino %u nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino %u", + TP_printk("dev %d:%d agno %d startino 0x%x daddr 0x%llx len %d chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startino, @@ -842,7 +842,7 @@ TRACE_EVENT(xrep_calc_ag_resblks_btsize, __entry->rmapbt_sz = rmapbt_sz; __entry->refcbt_sz = refcbt_sz; ), - TP_printk("dev %d:%d agno %d bno %u ino %u rmap %u refcount %u", + TP_printk("dev %d:%d agno %d bnobt %u inobt %u rmapbt %u refcountbt %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->bnobt_sz, @@ -886,7 +886,7 @@ TRACE_EVENT(xrep_ialloc_insert, __entry->freecount = freecount; __entry->freemask = freemask; ), - TP_printk("dev %d:%d agno %d startino %u holemask 0x%x count %u freecount %u freemask 0x%llx", + TP_printk("dev %d:%d agno %d startino 0x%x holemask 0x%x count %u freecount %u freemask 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startino, diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 7e04a6adb349..6b2d4c5205d8 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -3191,7 +3191,7 @@ DECLARE_EVENT_CLASS(xfs_inode_error_class, __entry->error = error; __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d ino %llx error %d caller %pS", + TP_printk("dev %d:%d ino 0x%llx error %d caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->error, @@ -3603,7 +3603,7 @@ DECLARE_EVENT_CLASS(xfs_ag_inode_class, __entry->agno = XFS_INO_TO_AGNO(ip->i_mount, ip->i_ino); __entry->agino = XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino); ), - TP_printk("dev %d:%d agno %u agino %u", + TP_printk("dev %d:%d agno %u agino 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agino) ) @@ -3706,7 +3706,7 @@ TRACE_EVENT(xfs_iwalk_ag, __entry->agno = agno; __entry->startino = startino; ), - TP_printk("dev %d:%d agno %d startino %u", + TP_printk("dev %d:%d agno %d startino 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startino) ) @@ -3727,7 +3727,7 @@ TRACE_EVENT(xfs_iwalk_ag_rec, __entry->startino = irec->ir_startino; __entry->freemask = irec->ir_free; ), - TP_printk("dev %d:%d agno %d startino %u freemask 0x%llx", + TP_printk("dev %d:%d agno %d startino 0x%x freemask 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startino, __entry->freemask) ) @@ -3790,7 +3790,7 @@ TRACE_EVENT(xfs_check_new_dalign, __entry->sb_rootino = mp->m_sb.sb_rootino; __entry->calc_rootino = calc_rootino; ), - TP_printk("dev %d:%d new_dalign %d sb_rootino %llu calc_rootino %llu", + TP_printk("dev %d:%d new_dalign %d sb_rootino 0x%llx calc_rootino 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->new_dalign, __entry->sb_rootino, __entry->calc_rootino) @@ -3847,7 +3847,7 @@ TRACE_EVENT(xfs_btree_commit_ifakeroot, __entry->blocks = cur->bc_ino.ifake->if_blocks; __entry->whichfork = cur->bc_ino.whichfork; ), - TP_printk("dev %d:%d btree %s ag %u agino %u whichfork %s levels %u blocks %u", + TP_printk("dev %d:%d btree %s ag %u agino 0x%x whichfork %s levels %u blocks %u", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->agno,
From: Darrick J. Wong <djwong@kernel.org> Always print allocation group numbers in hexadecimal and preceded with the unit "agno". Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/scrub/trace.h | 34 ++++++++++++------------ fs/xfs/xfs_trace.h | 72 +++++++++++++++++++++++++------------------------- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index e6e70d5870a2..3676b1736bab 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -103,7 +103,7 @@ DECLARE_EVENT_CLASS(xchk_class, __entry->flags = sm->sm_flags; __entry->error = error; ), - TP_printk("dev %d:%d ino 0x%llx type %s agno %u inum 0x%llx gen %u flags 0x%x error %d", + TP_printk("dev %d:%d ino 0x%llx type %s agno 0x%x inum 0x%llx gen %u flags 0x%x error %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), @@ -145,7 +145,7 @@ TRACE_EVENT(xchk_op_error, __entry->error = error; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d type %s agno %u agbno %u error %d ret_ip %pS", + TP_printk("dev %d:%d type %s agno 0x%x agbno %u error %d ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __entry->agno, @@ -203,7 +203,7 @@ DECLARE_EVENT_CLASS(xchk_block_error_class, __entry->agbno = xfs_daddr_to_agbno(sc->mp, daddr); __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d type %s agno %u agbno %u ret_ip %pS", + TP_printk("dev %d:%d type %s agno 0x%x agbno %u ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __entry->agno, @@ -338,7 +338,7 @@ TRACE_EVENT(xchk_btree_op_error, __entry->error = error; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno %u agbno %u error %d ret_ip %pS", + TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno %u error %d ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), @@ -381,7 +381,7 @@ TRACE_EVENT(xchk_ifork_btree_op_error, __entry->error = error; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno %u agbno %u error %d ret_ip %pS", + TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno %u error %d ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->whichfork, @@ -420,7 +420,7 @@ TRACE_EVENT(xchk_btree_error, __entry->ptr = cur->bc_ptrs[level]; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno %u agbno %u ret_ip %pS", + TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno %u ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), @@ -460,7 +460,7 @@ TRACE_EVENT(xchk_ifork_btree_error, __entry->ptr = cur->bc_ptrs[level]; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno %u agbno %u ret_ip %pS", + TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno %u ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->whichfork, @@ -499,7 +499,7 @@ DECLARE_EVENT_CLASS(xchk_sbtree_class, __entry->nlevels = cur->bc_nlevels; __entry->ptr = cur->bc_ptrs[level]; ), - TP_printk("dev %d:%d type %s btree %s agno %u agbno %u level %d nlevels %d ptr %d", + TP_printk("dev %d:%d type %s btree %s agno 0x%x agbno %u level %d nlevels %d ptr %d", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), @@ -572,7 +572,7 @@ TRACE_EVENT(xchk_iallocbt_check_cluster, __entry->holemask = holemask; __entry->cluster_ino = cluster_ino; ), - TP_printk("dev %d:%d agno %d startino 0x%x daddr 0x%llx len %d chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", + TP_printk("dev %d:%d agno 0x%x startino 0x%x daddr 0x%llx len %d chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startino, @@ -662,7 +662,7 @@ DECLARE_EVENT_CLASS(xrep_extent_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno %u agbno %u len %u", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno %u agbno %u len %u owner %lld offset %llu flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -737,7 +737,7 @@ TRACE_EVENT(xrep_refcount_extent_fn, __entry->blockcount = irec->rc_blockcount; __entry->refcount = irec->rc_refcount; ), - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, @@ -761,7 +761,7 @@ TRACE_EVENT(xrep_init_btblock, __entry->agbno = agbno; __entry->btnum = btnum; ), - TP_printk("dev %d:%d agno %u agbno %u btree %s", + TP_printk("dev %d:%d agno 0x%x agbno %u btree %s", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -785,7 +785,7 @@ TRACE_EVENT(xrep_findroot_block, __entry->magic = magic; __entry->level = level; ), - TP_printk("dev %d:%d agno %u agbno %u magic 0x%x level %u", + TP_printk("dev %d:%d agno 0x%x agbno %u magic 0x%x level %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -813,7 +813,7 @@ TRACE_EVENT(xrep_calc_ag_resblks, __entry->freelen = freelen; __entry->usedlen = usedlen; ), - TP_printk("dev %d:%d agno %d icount %u aglen %u freelen %u usedlen %u", + TP_printk("dev %d:%d agno 0x%x icount %u aglen %u freelen %u usedlen %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->icount, @@ -842,7 +842,7 @@ TRACE_EVENT(xrep_calc_ag_resblks_btsize, __entry->rmapbt_sz = rmapbt_sz; __entry->refcbt_sz = refcbt_sz; ), - TP_printk("dev %d:%d agno %d bnobt %u inobt %u rmapbt %u refcountbt %u", + TP_printk("dev %d:%d agno 0x%x bnobt %u inobt %u rmapbt %u refcountbt %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->bnobt_sz, @@ -886,7 +886,7 @@ TRACE_EVENT(xrep_ialloc_insert, __entry->freecount = freecount; __entry->freemask = freemask; ), - TP_printk("dev %d:%d agno %d startino 0x%x holemask 0x%x count %u freecount %u freemask 0x%llx", + TP_printk("dev %d:%d agno 0x%x startino 0x%x holemask 0x%x count %u freecount %u freemask 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startino, diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 6b2d4c5205d8..9ddc710c1be9 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -139,7 +139,7 @@ DECLARE_EVENT_CLASS(xfs_perag_class, __entry->refcount = refcount; __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d agno %u refcount %d caller %pS", + TP_printk("dev %d:%d agno 0x%x refcount %d caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->refcount, @@ -246,7 +246,7 @@ DECLARE_EVENT_CLASS(xfs_ag_class, __entry->dev = mp->m_super->s_dev; __entry->agno = agno; ), - TP_printk("dev %d:%d agno %u", + TP_printk("dev %d:%d agno 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno) ); @@ -612,7 +612,7 @@ DECLARE_EVENT_CLASS(xfs_filestream_class, __entry->agno = agno; __entry->streams = xfs_filestream_peek_ag(mp, agno); ), - TP_printk("dev %d:%d ino 0x%llx agno %u streams %d", + TP_printk("dev %d:%d ino 0x%llx agno 0x%x streams %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->agno, @@ -646,7 +646,7 @@ TRACE_EVENT(xfs_filestream_pick, __entry->free = free; __entry->nscan = nscan; ), - TP_printk("dev %d:%d ino 0x%llx agno %u streams %d free %d nscan %d", + TP_printk("dev %d:%d ino 0x%llx agno 0x%x streams %d free %d nscan %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->agno, @@ -858,7 +858,7 @@ TRACE_EVENT(xfs_irec_merge_pre, __entry->nagino = nagino; __entry->nholemask = holemask; ), - TP_printk("dev %d:%d agno %d inobt (%u:0x%x) new (%u:0x%x)", + TP_printk("dev %d:%d agno 0x%x inobt (%u:0x%x) new (%u:0x%x)", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agino, __entry->holemask, __entry->nagino, __entry->nholemask) @@ -880,7 +880,7 @@ TRACE_EVENT(xfs_irec_merge_post, __entry->agino = agino; __entry->holemask = holemask; ), - TP_printk("dev %d:%d agno %d inobt (%u:0x%x)", MAJOR(__entry->dev), + TP_printk("dev %d:%d agno 0x%x inobt (%u:0x%x)", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agino, __entry->holemask) ) @@ -1601,7 +1601,7 @@ DECLARE_EVENT_CLASS(xfs_extent_busy_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno %u agbno %u len %u", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1639,7 +1639,7 @@ TRACE_EVENT(xfs_extent_busy_trim, __entry->tbno = tbno; __entry->tlen = tlen; ), - TP_printk("dev %d:%d agno %u agbno %u len %u tbno %u tlen %u", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u tbno %u tlen %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1686,7 +1686,7 @@ DECLARE_EVENT_CLASS(xfs_agf_class, __entry->longest = be32_to_cpu(agf->agf_longest); __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d agno %u flags %s length %u roots b %u c %u " + TP_printk("dev %d:%d agno 0x%x flags %s length %u roots b %u c %u " "levels b %u c %u flfirst %u fllast %u flcount %u " "freeblks %u longest %u caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), @@ -1735,7 +1735,7 @@ TRACE_EVENT(xfs_free_extent, __entry->haveleft = haveleft; __entry->haveright = haveright; ), - TP_printk("dev %d:%d agno %u agbno %u len %u resv %d %s", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u resv %d %s", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1792,7 +1792,7 @@ DECLARE_EVENT_CLASS(xfs_alloc_class, __entry->datatype = args->datatype; __entry->firstblock = args->tp->t_firstblock; ), - TP_printk("dev %d:%d agno %u agbno %u minlen %u maxlen %u mod %u " + TP_printk("dev %d:%d agno 0x%x agbno %u minlen %u maxlen %u mod %u " "prod %u minleft %u total %u alignment %u minalignslop %u " "len %u type %s otype %s wasdel %d wasfromfl %d resv %d " "datatype 0x%x firstblock 0x%llx", @@ -2363,7 +2363,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, __entry->length = be32_to_cpu(in_f->icl_length); __entry->gen = be32_to_cpu(in_f->icl_gen); ), - TP_printk("dev %d:%d agno %u agbno %u count %u isize %u length %u " + TP_printk("dev %d:%d agno 0x%x agbno %u count %u isize %u length %u " "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, __entry->count, __entry->isize, __entry->length, __entry->gen) @@ -2392,7 +2392,7 @@ DECLARE_EVENT_CLASS(xfs_discard_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno %u agbno %u len %u", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2551,7 +2551,7 @@ DECLARE_EVENT_CLASS(xfs_phys_extent_deferred_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d op %d agno %u agbno %u len %u", + TP_printk("dev %d:%d op %d agno 0x%x agbno %u len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->type, __entry->agno, @@ -2598,7 +2598,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, __entry->l_state = state; __entry->op = op; ), - TP_printk("dev %d:%d op %d agno %u agbno %u owner %lld %s offset %llu len %llu state %d", + TP_printk("dev %d:%d op %d agno 0x%x agbno %u owner %lld %s offset %llu len %llu state %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->op, __entry->agno, @@ -2668,7 +2668,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class, if (unwritten) __entry->flags |= XFS_RMAP_UNWRITTEN; ), - TP_printk("dev %d:%d agno %u agbno %u len %u owner %lld offset %llu flags 0x%lx", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%lx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2701,7 +2701,7 @@ DECLARE_EVENT_CLASS(xfs_ag_error_class, __entry->error = error; __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d agno %u error %d caller %pS", + TP_printk("dev %d:%d agno 0x%x error %d caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->error, @@ -2748,7 +2748,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno %u agbno %u len %u owner %lld offset %llu flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2817,7 +2817,7 @@ DECLARE_EVENT_CLASS(xfs_ag_resv_class, __entry->asked = r ? r->ar_asked : 0; __entry->len = len; ), - TP_printk("dev %d:%d agno %u resv %d freeblks %u flcount %u " + TP_printk("dev %d:%d agno 0x%x resv %d freeblks %u flcount %u " "resv %u ask %u len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, @@ -2870,7 +2870,7 @@ DECLARE_EVENT_CLASS(xfs_ag_btree_lookup_class, __entry->agbno = agbno; __entry->dir = dir; ), - TP_printk("dev %d:%d agno %u agbno %u cmp %s(%d)", + TP_printk("dev %d:%d agno 0x%x agbno %u cmp %s(%d)", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2903,7 +2903,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_class, __entry->blockcount = irec->rc_blockcount; __entry->refcount = irec->rc_refcount; ), - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, @@ -2938,7 +2938,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_at_class, __entry->refcount = irec->rc_refcount; __entry->agbno = agbno; ), - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u @ agbno %u", + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u @ agbno %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, @@ -2978,7 +2978,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_class, __entry->i2_blockcount = i2->rc_blockcount; __entry->i2_refcount = i2->rc_refcount; ), - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u -- " + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " "agbno %u len %u refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, @@ -3024,7 +3024,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_at_class, __entry->i2_refcount = i2->rc_refcount; __entry->agbno = agbno; ), - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u -- " + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " "agbno %u len %u refcount %u @ agbno %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, @@ -3076,7 +3076,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class, __entry->i3_blockcount = i3->rc_blockcount; __entry->i3_refcount = i3->rc_refcount; ), - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u -- " + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " "agbno %u len %u refcount %u -- " "agbno %u len %u refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), @@ -3165,7 +3165,7 @@ TRACE_EVENT(xfs_refcount_finish_one_leftover, __entry->new_agbno = new_agbno; __entry->new_len = new_len; ), - TP_printk("dev %d:%d type %d agno %u agbno %u len %u new_agbno %u new_len %u", + TP_printk("dev %d:%d type %d agno 0x%x agbno %u len %u new_agbno %u new_len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->type, __entry->agno, @@ -3417,7 +3417,7 @@ DECLARE_EVENT_CLASS(xfs_fsmap_class, __entry->offset = rmap->rm_offset; __entry->flags = rmap->rm_flags; ), - TP_printk("dev %d:%d keydev %d:%d agno %u bno %llu len %llu owner %lld offset %llu flags 0x%x", + TP_printk("dev %d:%d keydev %d:%d agno 0x%x bno %llu len %llu owner %lld offset %llu flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->agno, @@ -3556,7 +3556,7 @@ TRACE_EVENT(xfs_iunlink_update_bucket, __entry->old_ptr = old_ptr; __entry->new_ptr = new_ptr; ), - TP_printk("dev %d:%d agno %u bucket %u old 0x%x new 0x%x", + TP_printk("dev %d:%d agno 0x%x bucket %u old 0x%x new 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->bucket, @@ -3582,7 +3582,7 @@ TRACE_EVENT(xfs_iunlink_update_dinode, __entry->old_ptr = old_ptr; __entry->new_ptr = new_ptr; ), - TP_printk("dev %d:%d agno %u agino 0x%x old 0x%x new 0x%x", + TP_printk("dev %d:%d agno 0x%x agino 0x%x old 0x%x new 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agino, @@ -3603,7 +3603,7 @@ DECLARE_EVENT_CLASS(xfs_ag_inode_class, __entry->agno = XFS_INO_TO_AGNO(ip->i_mount, ip->i_ino); __entry->agino = XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino); ), - TP_printk("dev %d:%d agno %u agino 0x%x", + TP_printk("dev %d:%d agno 0x%x agino 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agino) ) @@ -3655,7 +3655,7 @@ DECLARE_EVENT_CLASS(xfs_ag_corrupt_class, __entry->agno = agno; __entry->flags = flags; ), - TP_printk("dev %d:%d agno %u flags 0x%x", + TP_printk("dev %d:%d agno 0x%x flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->flags) ); @@ -3706,7 +3706,7 @@ TRACE_EVENT(xfs_iwalk_ag, __entry->agno = agno; __entry->startino = startino; ), - TP_printk("dev %d:%d agno %d startino 0x%x", + TP_printk("dev %d:%d agno 0x%x startino 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startino) ) @@ -3727,7 +3727,7 @@ TRACE_EVENT(xfs_iwalk_ag_rec, __entry->startino = irec->ir_startino; __entry->freemask = irec->ir_free; ), - TP_printk("dev %d:%d agno %d startino 0x%x freemask 0x%llx", + TP_printk("dev %d:%d agno 0x%x startino 0x%x freemask 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startino, __entry->freemask) ) @@ -3815,7 +3815,7 @@ TRACE_EVENT(xfs_btree_commit_afakeroot, __entry->levels = cur->bc_ag.afake->af_levels; __entry->blocks = cur->bc_ag.afake->af_blocks; ), - TP_printk("dev %d:%d btree %s ag %u levels %u blocks %u root %u", + TP_printk("dev %d:%d btree %s agno 0x%x levels %u blocks %u root %u", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->agno, @@ -3847,7 +3847,7 @@ TRACE_EVENT(xfs_btree_commit_ifakeroot, __entry->blocks = cur->bc_ino.ifake->if_blocks; __entry->whichfork = cur->bc_ino.whichfork; ), - TP_printk("dev %d:%d btree %s ag %u agino 0x%x whichfork %s levels %u blocks %u", + TP_printk("dev %d:%d btree %s agno 0x%x agino 0x%x whichfork %s levels %u blocks %u", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->agno, @@ -3930,7 +3930,7 @@ TRACE_EVENT(xfs_btree_bload_block, } __entry->nr_records = nr_records; ), - TP_printk("dev %d:%d btree %s level %u block %llu/%llu fsb (%u/%u) recs %u", + TP_printk("dev %d:%d btree %s level %u block %llu/%llu agno 0x%x agbno %u recs %u", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->level,
From: Darrick J. Wong <djwong@kernel.org> Always print allocation group block numbers in hexadecimal and preceded with the unit "agbno". Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/scrub/trace.h | 24 ++++++++++++------------ fs/xfs/xfs_trace.h | 46 +++++++++++++++++++++++----------------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index 3676b1736bab..49822589a4ae 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -145,7 +145,7 @@ TRACE_EVENT(xchk_op_error, __entry->error = error; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d type %s agno 0x%x agbno %u error %d ret_ip %pS", + TP_printk("dev %d:%d type %s agno 0x%x agbno 0x%x error %d ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __entry->agno, @@ -203,7 +203,7 @@ DECLARE_EVENT_CLASS(xchk_block_error_class, __entry->agbno = xfs_daddr_to_agbno(sc->mp, daddr); __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d type %s agno 0x%x agbno %u ret_ip %pS", + TP_printk("dev %d:%d type %s agno 0x%x agbno 0x%x ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __entry->agno, @@ -338,7 +338,7 @@ TRACE_EVENT(xchk_btree_op_error, __entry->error = error; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno %u error %d ret_ip %pS", + TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x error %d ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), @@ -381,7 +381,7 @@ TRACE_EVENT(xchk_ifork_btree_op_error, __entry->error = error; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno %u error %d ret_ip %pS", + TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x error %d ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->whichfork, @@ -420,7 +420,7 @@ TRACE_EVENT(xchk_btree_error, __entry->ptr = cur->bc_ptrs[level]; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno %u ret_ip %pS", + TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), @@ -460,7 +460,7 @@ TRACE_EVENT(xchk_ifork_btree_error, __entry->ptr = cur->bc_ptrs[level]; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno %u ret_ip %pS", + TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->whichfork, @@ -499,7 +499,7 @@ DECLARE_EVENT_CLASS(xchk_sbtree_class, __entry->nlevels = cur->bc_nlevels; __entry->ptr = cur->bc_ptrs[level]; ), - TP_printk("dev %d:%d type %s btree %s agno 0x%x agbno %u level %d nlevels %d ptr %d", + TP_printk("dev %d:%d type %s btree %s agno 0x%x agbno 0x%x level %d nlevels %d ptr %d", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), @@ -662,7 +662,7 @@ DECLARE_EVENT_CLASS(xrep_extent_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -737,7 +737,7 @@ TRACE_EVENT(xrep_refcount_extent_fn, __entry->blockcount = irec->rc_blockcount; __entry->refcount = irec->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, @@ -761,7 +761,7 @@ TRACE_EVENT(xrep_init_btblock, __entry->agbno = agbno; __entry->btnum = btnum; ), - TP_printk("dev %d:%d agno 0x%x agbno %u btree %s", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x btree %s", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -785,7 +785,7 @@ TRACE_EVENT(xrep_findroot_block, __entry->magic = magic; __entry->level = level; ), - TP_printk("dev %d:%d agno 0x%x agbno %u magic 0x%x level %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x magic 0x%x level %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 9ddc710c1be9..a780b1752ede 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -1601,7 +1601,7 @@ DECLARE_EVENT_CLASS(xfs_extent_busy_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1639,7 +1639,7 @@ TRACE_EVENT(xfs_extent_busy_trim, __entry->tbno = tbno; __entry->tlen = tlen; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u tbno %u tlen %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u found_agbno 0x%x tlen %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1735,7 +1735,7 @@ TRACE_EVENT(xfs_free_extent, __entry->haveleft = haveleft; __entry->haveright = haveright; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u resv %d %s", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u resv %d %s", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1792,7 +1792,7 @@ DECLARE_EVENT_CLASS(xfs_alloc_class, __entry->datatype = args->datatype; __entry->firstblock = args->tp->t_firstblock; ), - TP_printk("dev %d:%d agno 0x%x agbno %u minlen %u maxlen %u mod %u " + TP_printk("dev %d:%d agno 0x%x agbno 0x%x minlen %u maxlen %u mod %u " "prod %u minleft %u total %u alignment %u minalignslop %u " "len %u type %s otype %s wasdel %d wasfromfl %d resv %d " "datatype 0x%x firstblock 0x%llx", @@ -1870,7 +1870,7 @@ TRACE_EVENT(xfs_alloc_cur_check, __entry->diff = diff; __entry->new = new; ), - TP_printk("dev %d:%d btree %s bno 0x%x len 0x%x diff 0x%x new %d", + TP_printk("dev %d:%d btree %s agbno 0x%x len 0x%x diff 0x%x new %d", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->bno, __entry->len, __entry->diff, __entry->new) @@ -2363,7 +2363,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, __entry->length = be32_to_cpu(in_f->icl_length); __entry->gen = be32_to_cpu(in_f->icl_gen); ), - TP_printk("dev %d:%d agno 0x%x agbno %u count %u isize %u length %u " + TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u length %u " "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, __entry->count, __entry->isize, __entry->length, __entry->gen) @@ -2392,7 +2392,7 @@ DECLARE_EVENT_CLASS(xfs_discard_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2551,7 +2551,7 @@ DECLARE_EVENT_CLASS(xfs_phys_extent_deferred_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d op %d agno 0x%x agbno %u len %u", + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->type, __entry->agno, @@ -2598,7 +2598,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, __entry->l_state = state; __entry->op = op; ), - TP_printk("dev %d:%d op %d agno 0x%x agbno %u owner %lld %s offset %llu len %llu state %d", + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner %lld %s offset %llu len %llu state %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->op, __entry->agno, @@ -2668,7 +2668,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class, if (unwritten) __entry->flags |= XFS_RMAP_UNWRITTEN; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%lx", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%lx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2748,7 +2748,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2870,7 +2870,7 @@ DECLARE_EVENT_CLASS(xfs_ag_btree_lookup_class, __entry->agbno = agbno; __entry->dir = dir; ), - TP_printk("dev %d:%d agno 0x%x agbno %u cmp %s(%d)", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x cmp %s(%d)", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2903,7 +2903,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_class, __entry->blockcount = irec->rc_blockcount; __entry->refcount = irec->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, @@ -2938,7 +2938,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_at_class, __entry->refcount = irec->rc_refcount; __entry->agbno = agbno; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u @ agbno %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u @ agbno 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, @@ -2978,8 +2978,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_class, __entry->i2_blockcount = i2->rc_blockcount; __entry->i2_refcount = i2->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " - "agbno %u len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " + "agbno 0x%x len %u refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->i1_startblock, @@ -3024,8 +3024,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_at_class, __entry->i2_refcount = i2->rc_refcount; __entry->agbno = agbno; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " - "agbno %u len %u refcount %u @ agbno %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " + "agbno 0x%x len %u refcount %u @ agbno 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->i1_startblock, @@ -3076,9 +3076,9 @@ DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class, __entry->i3_blockcount = i3->rc_blockcount; __entry->i3_refcount = i3->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " - "agbno %u len %u refcount %u -- " - "agbno %u len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " + "agbno 0x%x len %u refcount %u -- " + "agbno 0x%x len %u refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->i1_startblock, @@ -3165,7 +3165,7 @@ TRACE_EVENT(xfs_refcount_finish_one_leftover, __entry->new_agbno = new_agbno; __entry->new_len = new_len; ), - TP_printk("dev %d:%d type %d agno 0x%x agbno %u len %u new_agbno %u new_len %u", + TP_printk("dev %d:%d type %d agno 0x%x agbno 0x%x len %u new_agbno 0x%x new_len %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->type, __entry->agno, @@ -3930,7 +3930,7 @@ TRACE_EVENT(xfs_btree_bload_block, } __entry->nr_records = nr_records; ), - TP_printk("dev %d:%d btree %s level %u block %llu/%llu agno 0x%x agbno %u recs %u", + TP_printk("dev %d:%d btree %s level %u block %llu/%llu agno 0x%x agbno 0x%x recs %u", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->level,
From: Darrick J. Wong <djwong@kernel.org> Always print rmap owner number in hexadecimal and preceded with the unit "owner". Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/scrub/trace.h | 2 +- fs/xfs/xfs_trace.h | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index 49822589a4ae..486e6f3c0ea2 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx offset %llu flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index a780b1752ede..d6365a0ee0ff 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -2598,7 +2598,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, __entry->l_state = state; __entry->op = op; ), - TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner %lld %s offset %llu len %llu state %d", + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s offset %llu len %llu state %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->op, __entry->agno, @@ -2668,7 +2668,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class, if (unwritten) __entry->flags |= XFS_RMAP_UNWRITTEN; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%lx", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx offset %llu flags 0x%lx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2748,7 +2748,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx offset %llu flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -3417,7 +3417,7 @@ DECLARE_EVENT_CLASS(xfs_fsmap_class, __entry->offset = rmap->rm_offset; __entry->flags = rmap->rm_flags; ), - TP_printk("dev %d:%d keydev %d:%d agno 0x%x bno %llu len %llu owner %lld offset %llu flags 0x%x", + TP_printk("dev %d:%d keydev %d:%d agno 0x%x bno %llu len %llu owner 0x%llx offset %llu flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->agno, @@ -3457,7 +3457,7 @@ DECLARE_EVENT_CLASS(xfs_getfsmap_class, __entry->offset = fsmap->fmr_offset; __entry->flags = fsmap->fmr_flags; ), - TP_printk("dev %d:%d keydev %d:%d block %llu len %llu owner %lld offset %llu flags 0x%llx", + TP_printk("dev %d:%d keydev %d:%d block %llu len %llu owner 0x%llx offset %llu flags 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->block,
From: Darrick J. Wong <djwong@kernel.org> Always print disk addr (i.e. 512 byte block) numbers in hexadecimal and preceded with the unit "daddr". Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/xfs_trace.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index d6365a0ee0ff..3944373ad2f6 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -397,7 +397,7 @@ DECLARE_EVENT_CLASS(xfs_buf_class, __entry->flags = bp->b_flags; __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d bno 0x%llx nblks 0x%x hold %d pincount %d " + TP_printk("dev %d:%d daddr 0x%llx nblks 0x%x hold %d pincount %d " "lock %d flags %s caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), (unsigned long long)__entry->bno, @@ -465,7 +465,7 @@ DECLARE_EVENT_CLASS(xfs_buf_flags_class, __entry->lockval = bp->b_sema.count; __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d " + TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " "lock %d flags %s caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), (unsigned long long)__entry->bno, @@ -510,7 +510,7 @@ TRACE_EVENT(xfs_buf_ioerror, __entry->flags = bp->b_flags; __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d " + TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " "lock %d error %d flags %s caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), (unsigned long long)__entry->bno, @@ -552,7 +552,7 @@ DECLARE_EVENT_CLASS(xfs_buf_item_class, __entry->buf_lockval = bip->bli_buf->b_sema.count; __entry->li_flags = bip->bli_item.li_flags; ), - TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d " + TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " "lock %d flags %s recur %d refcount %d bliflags %s " "liflags %s", MAJOR(__entry->dev), MINOR(__entry->dev),
From: Darrick J. Wong <djwong@kernel.org> Some of our tracepoints describe fields as "blkno", "block", or "bno". That name doesn't describe any units, which makes the fields not very useful. Rename the fields to capture units and ensure the format is hexadecimal. "startblock" is the startblock field from the bmap structure, which is a segmented fsblock on the data device, or an rfsblock on the realtime device. "fileoff" is a file offset, in units of filesystem blocks "daddr" is a raw device offset, in 512b blocks Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/xfs_trace.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 3944373ad2f6..d725bc4bd1e7 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -346,7 +346,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class, __entry->caller_ip = caller_ip; ), TP_printk("dev %d:%d ino 0x%llx state %s cur %p/%d " - "offset %lld block %lld count %lld flag %d caller %pS", + "offset %lld startblock 0x%llx count %lld flag %d caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), @@ -1434,7 +1434,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, __entry->blockcount = irec ? irec->br_blockcount : 0; ), TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset 0x%llx count %zd " - "fork %s startoff 0x%llx startblock %lld blockcount 0x%llx", + "fork %s startoff 0x%llx startblock 0x%llx blockcount 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -1552,14 +1552,14 @@ TRACE_EVENT(xfs_pagecache_inval, ); TRACE_EVENT(xfs_bunmap, - TP_PROTO(struct xfs_inode *ip, xfs_fileoff_t bno, xfs_filblks_t len, + TP_PROTO(struct xfs_inode *ip, xfs_fileoff_t fileoff, xfs_filblks_t len, int flags, unsigned long caller_ip), - TP_ARGS(ip, bno, len, flags, caller_ip), + TP_ARGS(ip, fileoff, len, flags, caller_ip), TP_STRUCT__entry( __field(dev_t, dev) __field(xfs_ino_t, ino) __field(xfs_fsize_t, size) - __field(xfs_fileoff_t, bno) + __field(xfs_fileoff_t, fileoff) __field(xfs_filblks_t, len) __field(unsigned long, caller_ip) __field(int, flags) @@ -1568,17 +1568,17 @@ TRACE_EVENT(xfs_bunmap, __entry->dev = VFS_I(ip)->i_sb->s_dev; __entry->ino = ip->i_ino; __entry->size = ip->i_disk_size; - __entry->bno = bno; + __entry->fileoff = fileoff; __entry->len = len; __entry->caller_ip = caller_ip; __entry->flags = flags; ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx bno 0x%llx len 0x%llx" + TP_printk("dev %d:%d ino 0x%llx size 0x%llx fileoff 0x%llx len 0x%llx" "flags %s caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, - __entry->bno, + __entry->fileoff, __entry->len, __print_flags(__entry->flags, "|", XFS_BMAPI_FLAGS), (void *)__entry->caller_ip) @@ -2271,7 +2271,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_buf_item_class, __entry->size = buf_f->blf_size; __entry->map_size = buf_f->blf_map_size; ), - TP_printk("dev %d:%d blkno 0x%llx, len %u, flags 0x%x, size %d, " + TP_printk("dev %d:%d daddr 0x%llx, len %u, flags 0x%x, size %d, " "map_size %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->blkno, @@ -2322,7 +2322,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_ino_item_class, __entry->boffset = in_f->ilf_boffset; ), TP_printk("dev %d:%d ino 0x%llx, size %u, fields 0x%x, asize %d, " - "dsize %d, blkno 0x%llx, len %d, boffset %d", + "dsize %d, daddr 0x%llx, len %d, boffset %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -3276,7 +3276,7 @@ DECLARE_EVENT_CLASS(xfs_inode_irec_class, __entry->pblk = irec->br_startblock; __entry->state = irec->br_state; ), - TP_printk("dev %d:%d ino 0x%llx lblk 0x%llx len 0x%x pblk %llu st %d", + TP_printk("dev %d:%d ino 0x%llx lblk 0x%llx len 0x%x startblock 0x%llx st %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->lblk, @@ -3417,7 +3417,7 @@ DECLARE_EVENT_CLASS(xfs_fsmap_class, __entry->offset = rmap->rm_offset; __entry->flags = rmap->rm_flags; ), - TP_printk("dev %d:%d keydev %d:%d agno 0x%x bno %llu len %llu owner 0x%llx offset %llu flags 0x%x", + TP_printk("dev %d:%d keydev %d:%d agno 0x%x startblock 0x%llx len %llu owner 0x%llx offset %llu flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->agno, @@ -3457,7 +3457,7 @@ DECLARE_EVENT_CLASS(xfs_getfsmap_class, __entry->offset = fsmap->fmr_offset; __entry->flags = fsmap->fmr_flags; ), - TP_printk("dev %d:%d keydev %d:%d block %llu len %llu owner 0x%llx offset %llu flags 0x%llx", + TP_printk("dev %d:%d keydev %d:%d daddr 0x%llx len %llu owner 0x%llx offset %llu flags 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->block,
From: Darrick J. Wong <djwong@kernel.org> Some of our tracepoints describe fields as "offset". That name doesn't describe any units, which makes the fields not very useful. Rename the fields to capture units and ensure the format is hexadecimal. "fileoff" means file offset, in units of fs blocks "pos" means file offset, in bytes "forkoff" means inode fork offset, in bytes The one remaining "offset" value is for iclogs, since that's the byte offset of the end of where we've written into the current iclog. Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/scrub/trace.h | 6 +++--- fs/xfs/xfs_trace.h | 29 ++++++++++++++--------------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index 486e6f3c0ea2..5a57fea014f9 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -176,7 +176,7 @@ TRACE_EVENT(xchk_file_op_error, __entry->error = error; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d ino 0x%llx fork %d type %s offset %llu error %d ret_ip %pS", + TP_printk("dev %d:%d ino 0x%llx fork %d type %s fileoff 0x%llx error %d ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->whichfork, @@ -273,7 +273,7 @@ DECLARE_EVENT_CLASS(xchk_fblock_error_class, __entry->offset = offset; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d ino 0x%llx fork %d type %s offset %llu ret_ip %pS", + TP_printk("dev %d:%d ino 0x%llx fork %d type %s fileoff 0x%llx ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->whichfork, @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx offset %llu flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index d725bc4bd1e7..9748412ef3d3 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -346,7 +346,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class, __entry->caller_ip = caller_ip; ), TP_printk("dev %d:%d ino 0x%llx state %s cur %p/%d " - "offset %lld startblock 0x%llx count %lld flag %d caller %pS", + "fileoff 0x%llx startblock 0x%llx count %lld flag %d caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), @@ -1386,7 +1386,7 @@ DECLARE_EVENT_CLASS(xfs_file_class, __entry->offset = iocb->ki_pos; __entry->count = iov_iter_count(iter); ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset 0x%llx count 0x%zx", + TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx count 0x%zx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -1433,7 +1433,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, __entry->startblock = irec ? irec->br_startblock : 0; __entry->blockcount = irec ? irec->br_blockcount : 0; ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset 0x%llx count %zd " + TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx count %zd " "fork %s startoff 0x%llx startblock 0x%llx blockcount 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, @@ -1476,7 +1476,7 @@ DECLARE_EVENT_CLASS(xfs_simple_io_class, __entry->count = count; ), TP_printk("dev %d:%d ino 0x%llx isize 0x%llx disize 0x%llx " - "offset 0x%llx count %zd", + "pos 0x%llx count %zd", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->isize, @@ -2145,7 +2145,7 @@ DECLARE_EVENT_CLASS(xfs_swap_extent_class, __entry->fork_off = XFS_IFORK_BOFF(ip); ), TP_printk("dev %d:%d ino 0x%llx (%s), %s format, num_extents %d, " - "broot size %d, fork offset %d", + "broot size %d, forkoff %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __print_symbolic(__entry->which, XFS_SWAPEXT_INODES), @@ -2598,7 +2598,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, __entry->l_state = state; __entry->op = op; ), - TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s offset %llu len %llu state %d", + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s fileoff 0x%llx len %llu state %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->op, __entry->agno, @@ -2668,7 +2668,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class, if (unwritten) __entry->flags |= XFS_RMAP_UNWRITTEN; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx offset %llu flags 0x%lx", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%lx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2748,7 +2748,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx offset %llu flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -3236,8 +3236,8 @@ DECLARE_EVENT_CLASS(xfs_double_io_class, __entry->dest_offset = doffset; ), TP_printk("dev %d:%d count %zd " - "ino 0x%llx isize 0x%llx disize 0x%llx offset 0x%llx -> " - "ino 0x%llx isize 0x%llx disize 0x%llx offset 0x%llx", + "ino 0x%llx isize 0x%llx disize 0x%llx pos 0x%llx -> " + "ino 0x%llx isize 0x%llx disize 0x%llx pos 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->len, __entry->src_ino, @@ -3276,7 +3276,7 @@ DECLARE_EVENT_CLASS(xfs_inode_irec_class, __entry->pblk = irec->br_startblock; __entry->state = irec->br_state; ), - TP_printk("dev %d:%d ino 0x%llx lblk 0x%llx len 0x%x startblock 0x%llx st %d", + TP_printk("dev %d:%d ino 0x%llx fileoff 0x%llx len 0x%x startblock 0x%llx st %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->lblk, @@ -3317,8 +3317,7 @@ TRACE_EVENT(xfs_reflink_remap_blocks, __entry->dest_lblk = doffset; ), TP_printk("dev %d:%d len 0x%llx " - "ino 0x%llx offset 0x%llx blocks -> " - "ino 0x%llx offset 0x%llx blocks", + "ino 0x%llx fileoff 0x%llx -> ino 0x%llx fileoff 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->len, __entry->src_ino, @@ -3417,7 +3416,7 @@ DECLARE_EVENT_CLASS(xfs_fsmap_class, __entry->offset = rmap->rm_offset; __entry->flags = rmap->rm_flags; ), - TP_printk("dev %d:%d keydev %d:%d agno 0x%x startblock 0x%llx len %llu owner 0x%llx offset %llu flags 0x%x", + TP_printk("dev %d:%d keydev %d:%d agno 0x%x startblock 0x%llx len %llu owner 0x%llx fileoff 0x%llx flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->agno, @@ -3457,7 +3456,7 @@ DECLARE_EVENT_CLASS(xfs_getfsmap_class, __entry->offset = fsmap->fmr_offset; __entry->flags = fsmap->fmr_flags; ), - TP_printk("dev %d:%d keydev %d:%d daddr 0x%llx len %llu owner 0x%llx offset %llu flags 0x%llx", + TP_printk("dev %d:%d keydev %d:%d daddr 0x%llx len %llu owner 0x%llx fileoff_daddr 0x%llx flags 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->block,
From: Darrick J. Wong <djwong@kernel.org> Some of our tracepoints have a field known as "len". That name doesn't describe any units, which makes the fields not very useful. Rename the fields to capture units and ensure the format is hexadecimal. "blockcount" are in units of fs blocks "daddrcount" are in units of 512b blocks Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/scrub/trace.h | 8 ++++--- fs/xfs/xfs_trace.h | 54 +++++++++++++++++++++++++------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index 5a57fea014f9..cb5a74028b63 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -572,7 +572,7 @@ TRACE_EVENT(xchk_iallocbt_check_cluster, __entry->holemask = holemask; __entry->cluster_ino = cluster_ino; ), - TP_printk("dev %d:%d agno 0x%x startino 0x%x daddr 0x%llx len %d chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", + TP_printk("dev %d:%d agno 0x%x startino 0x%x daddr 0x%llx daddrcount 0x%x chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startino, @@ -662,7 +662,7 @@ DECLARE_EVENT_CLASS(xrep_extent_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x owner 0x%llx fileoff 0x%llx flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -737,7 +737,7 @@ TRACE_EVENT(xrep_refcount_extent_fn, __entry->blockcount = irec->rc_blockcount; __entry->refcount = irec->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 9748412ef3d3..7ae654f7ae82 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -1573,7 +1573,7 @@ TRACE_EVENT(xfs_bunmap, __entry->caller_ip = caller_ip; __entry->flags = flags; ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx fileoff 0x%llx len 0x%llx" + TP_printk("dev %d:%d ino 0x%llx size 0x%llx fileoff 0x%llx blockcount 0x%llx" "flags %s caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, @@ -1601,7 +1601,7 @@ DECLARE_EVENT_CLASS(xfs_extent_busy_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1639,7 +1639,7 @@ TRACE_EVENT(xfs_extent_busy_trim, __entry->tbno = tbno; __entry->tlen = tlen; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u found_agbno 0x%x tlen %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x found_agbno 0x%x found_blockcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1735,7 +1735,7 @@ TRACE_EVENT(xfs_free_extent, __entry->haveleft = haveleft; __entry->haveright = haveright; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u resv %d %s", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x resv %d %s", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1870,7 +1870,7 @@ TRACE_EVENT(xfs_alloc_cur_check, __entry->diff = diff; __entry->new = new; ), - TP_printk("dev %d:%d btree %s agbno 0x%x len 0x%x diff 0x%x new %d", + TP_printk("dev %d:%d btree %s agbno 0x%x blockcount 0x%x diff 0x%x new %d", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->bno, __entry->len, __entry->diff, __entry->new) @@ -2271,7 +2271,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_buf_item_class, __entry->size = buf_f->blf_size; __entry->map_size = buf_f->blf_map_size; ), - TP_printk("dev %d:%d daddr 0x%llx, len %u, flags 0x%x, size %d, " + TP_printk("dev %d:%d daddr 0x%llx, daddrcount 0x%x, flags 0x%x, size %d, " "map_size %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->blkno, @@ -2322,7 +2322,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_ino_item_class, __entry->boffset = in_f->ilf_boffset; ), TP_printk("dev %d:%d ino 0x%llx, size %u, fields 0x%x, asize %d, " - "dsize %d, daddr 0x%llx, len %d, boffset %d", + "dsize %d, daddr 0x%llx, daddrcount 0x%x, boffset %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -2363,7 +2363,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, __entry->length = be32_to_cpu(in_f->icl_length); __entry->gen = be32_to_cpu(in_f->icl_gen); ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u length %u " + TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u blockcount 0x%x " "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, __entry->count, __entry->isize, __entry->length, __entry->gen) @@ -2392,7 +2392,7 @@ DECLARE_EVENT_CLASS(xfs_discard_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2551,7 +2551,7 @@ DECLARE_EVENT_CLASS(xfs_phys_extent_deferred_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x len %u", + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x blockcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->type, __entry->agno, @@ -2598,7 +2598,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, __entry->l_state = state; __entry->op = op; ), - TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s fileoff 0x%llx len %llu state %d", + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s fileoff 0x%llx blockcount 0x%llx state %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->op, __entry->agno, @@ -2668,7 +2668,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class, if (unwritten) __entry->flags |= XFS_RMAP_UNWRITTEN; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%lx", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x owner 0x%llx fileoff 0x%llx flags 0x%lx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2748,7 +2748,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x owner 0x%llx fileoff 0x%llx flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2903,7 +2903,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_class, __entry->blockcount = irec->rc_blockcount; __entry->refcount = irec->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, @@ -2938,7 +2938,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_at_class, __entry->refcount = irec->rc_refcount; __entry->agbno = agbno; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u @ agbno 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x refcount %u @ agbno 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, @@ -2978,8 +2978,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_class, __entry->i2_blockcount = i2->rc_blockcount; __entry->i2_refcount = i2->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " - "agbno 0x%x len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x refcount %u -- " + "agbno 0x%x blockcount 0x%x refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->i1_startblock, @@ -3024,8 +3024,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_at_class, __entry->i2_refcount = i2->rc_refcount; __entry->agbno = agbno; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " - "agbno 0x%x len %u refcount %u @ agbno 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x refcount %u -- " + "agbno 0x%x blockcount 0x%x refcount %u @ agbno 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->i1_startblock, @@ -3076,9 +3076,9 @@ DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class, __entry->i3_blockcount = i3->rc_blockcount; __entry->i3_refcount = i3->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " - "agbno 0x%x len %u refcount %u -- " - "agbno 0x%x len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x blockcount 0x%x refcount %u -- " + "agbno 0x%x blockcount 0x%x refcount %u -- " + "agbno 0x%x blockcount 0x%x refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->i1_startblock, @@ -3165,7 +3165,7 @@ TRACE_EVENT(xfs_refcount_finish_one_leftover, __entry->new_agbno = new_agbno; __entry->new_len = new_len; ), - TP_printk("dev %d:%d type %d agno 0x%x agbno 0x%x len %u new_agbno 0x%x new_len %u", + TP_printk("dev %d:%d type %d agno 0x%x agbno 0x%x blockcount 0x%x new_agbno 0x%x new_blockcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->type, __entry->agno, @@ -3276,7 +3276,7 @@ DECLARE_EVENT_CLASS(xfs_inode_irec_class, __entry->pblk = irec->br_startblock; __entry->state = irec->br_state; ), - TP_printk("dev %d:%d ino 0x%llx fileoff 0x%llx len 0x%x startblock 0x%llx st %d", + TP_printk("dev %d:%d ino 0x%llx fileoff 0x%llx blockcount 0x%x startblock 0x%llx st %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->lblk, @@ -3316,7 +3316,7 @@ TRACE_EVENT(xfs_reflink_remap_blocks, __entry->dest_ino = dest->i_ino; __entry->dest_lblk = doffset; ), - TP_printk("dev %d:%d len 0x%llx " + TP_printk("dev %d:%d blockcount 0x%llx " "ino 0x%llx fileoff 0x%llx -> ino 0x%llx fileoff 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->len, @@ -3416,7 +3416,7 @@ DECLARE_EVENT_CLASS(xfs_fsmap_class, __entry->offset = rmap->rm_offset; __entry->flags = rmap->rm_flags; ), - TP_printk("dev %d:%d keydev %d:%d agno 0x%x startblock 0x%llx len %llu owner 0x%llx fileoff 0x%llx flags 0x%x", + TP_printk("dev %d:%d keydev %d:%d agno 0x%x startblock 0x%llx blockcount 0x%llx owner 0x%llx fileoff 0x%llx flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->agno, @@ -3456,7 +3456,7 @@ DECLARE_EVENT_CLASS(xfs_getfsmap_class, __entry->offset = fsmap->fmr_offset; __entry->flags = fsmap->fmr_flags; ), - TP_printk("dev %d:%d keydev %d:%d daddr 0x%llx len %llu owner 0x%llx fileoff_daddr 0x%llx flags 0x%llx", + TP_printk("dev %d:%d keydev %d:%d daddr 0x%llx daddrcount 0x%llx owner 0x%llx fileoff_daddr 0x%llx flags 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->block,
From: Darrick J. Wong <djwong@kernel.org> Some of our tracepoints have a field known as "count". That name doesn't describe any units, which makes the fields not very useful. Rename the fields to capture units and ensure the format is hexadecimal when we're referring to blocks, extents, or IO operations. "blockcount" are in units of fs blocks "bytecount" are in units of bytes "icount" are in units of inode records Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/xfs_trace.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 7ae654f7ae82..07da753588d5 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -346,7 +346,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class, __entry->caller_ip = caller_ip; ), TP_printk("dev %d:%d ino 0x%llx state %s cur %p/%d " - "fileoff 0x%llx startblock 0x%llx count %lld flag %d caller %pS", + "fileoff 0x%llx startblock 0x%llx blockcount 0x%llx flag %d caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), @@ -806,7 +806,7 @@ DECLARE_EVENT_CLASS(xfs_iref_class, __entry->pincount = atomic_read(&ip->i_pincount); __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d ino 0x%llx count %d pincount %d caller %pS", + TP_printk("dev %d:%d ino 0x%llx icount %d pincount %d caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->count, @@ -1386,7 +1386,7 @@ DECLARE_EVENT_CLASS(xfs_file_class, __entry->offset = iocb->ki_pos; __entry->count = iov_iter_count(iter); ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx count 0x%zx", + TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx bytecount 0x%zx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -1433,7 +1433,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, __entry->startblock = irec ? irec->br_startblock : 0; __entry->blockcount = irec ? irec->br_blockcount : 0; ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx count %zd " + TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx bytecount 0x%zx " "fork %s startoff 0x%llx startblock 0x%llx blockcount 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, @@ -1476,7 +1476,7 @@ DECLARE_EVENT_CLASS(xfs_simple_io_class, __entry->count = count; ), TP_printk("dev %d:%d ino 0x%llx isize 0x%llx disize 0x%llx " - "pos 0x%llx count %zd", + "pos 0x%llx bytecount 0x%zx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->isize, @@ -3217,7 +3217,7 @@ DECLARE_EVENT_CLASS(xfs_double_io_class, __field(loff_t, src_isize) __field(loff_t, src_disize) __field(loff_t, src_offset) - __field(size_t, len) + __field(long long, len) __field(xfs_ino_t, dest_ino) __field(loff_t, dest_isize) __field(loff_t, dest_disize) @@ -3235,7 +3235,7 @@ DECLARE_EVENT_CLASS(xfs_double_io_class, __entry->dest_disize = dest->i_disk_size; __entry->dest_offset = doffset; ), - TP_printk("dev %d:%d count %zd " + TP_printk("dev %d:%d bytecount 0x%llx " "ino 0x%llx isize 0x%llx disize 0x%llx pos 0x%llx -> " "ino 0x%llx isize 0x%llx disize 0x%llx pos 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev),
From: Darrick J. Wong <djwong@kernel.org> Whenever we record i_disk_size (i.e. the ondisk file size), use the "disize" tag and hexadecimal format consistently. Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/xfs_trace.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 07da753588d5..29bf5fbfa71b 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -1386,7 +1386,7 @@ DECLARE_EVENT_CLASS(xfs_file_class, __entry->offset = iocb->ki_pos; __entry->count = iov_iter_count(iter); ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx bytecount 0x%zx", + TP_printk("dev %d:%d ino 0x%llx disize 0x%llx pos 0x%llx bytecount 0x%zx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -1433,7 +1433,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, __entry->startblock = irec ? irec->br_startblock : 0; __entry->blockcount = irec ? irec->br_blockcount : 0; ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx bytecount 0x%zx " + TP_printk("dev %d:%d ino 0x%llx disize 0x%llx pos 0x%llx bytecount 0x%zx " "fork %s startoff 0x%llx startblock 0x%llx blockcount 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, @@ -1512,7 +1512,7 @@ DECLARE_EVENT_CLASS(xfs_itrunc_class, __entry->size = ip->i_disk_size; __entry->new_size = new_size; ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx new_size 0x%llx", + TP_printk("dev %d:%d ino 0x%llx disize 0x%llx new_size 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -1543,7 +1543,7 @@ TRACE_EVENT(xfs_pagecache_inval, __entry->start = start; __entry->finish = finish; ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx start 0x%llx finish 0x%llx", + TP_printk("dev %d:%d ino 0x%llx disize 0x%llx start 0x%llx finish 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -1573,7 +1573,7 @@ TRACE_EVENT(xfs_bunmap, __entry->caller_ip = caller_ip; __entry->flags = flags; ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx fileoff 0x%llx blockcount 0x%llx" + TP_printk("dev %d:%d ino 0x%llx disize 0x%llx fileoff 0x%llx blockcount 0x%llx" "flags %s caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino,
From: Darrick J. Wong <djwong@kernel.org> Emit whichfork values as text strings in the ftrace output. Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/libxfs/xfs_types.h | 5 +++++ fs/xfs/scrub/trace.h | 16 ++++++++-------- fs/xfs/xfs_trace.h | 6 +++--- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/fs/xfs/libxfs/xfs_types.h b/fs/xfs/libxfs/xfs_types.h index 0870ef6f933d..b6da06b40989 100644 --- a/fs/xfs/libxfs/xfs_types.h +++ b/fs/xfs/libxfs/xfs_types.h @@ -87,6 +87,11 @@ typedef void * xfs_failaddr_t; #define XFS_ATTR_FORK 1 #define XFS_COW_FORK 2 +#define XFS_WHICHFORK_STRINGS \ + { XFS_DATA_FORK, "data" }, \ + { XFS_ATTR_FORK, "attr" }, \ + { XFS_COW_FORK, "cow" } + /* * Min numbers of data/attr fork btree root pointers. */ diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index cb5a74028b63..36f86b1497f4 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -176,10 +176,10 @@ TRACE_EVENT(xchk_file_op_error, __entry->error = error; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d ino 0x%llx fork %d type %s fileoff 0x%llx error %d ret_ip %pS", + TP_printk("dev %d:%d ino 0x%llx fork %s type %s fileoff 0x%llx error %d ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, - __entry->whichfork, + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __entry->offset, __entry->error, @@ -273,10 +273,10 @@ DECLARE_EVENT_CLASS(xchk_fblock_error_class, __entry->offset = offset; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d ino 0x%llx fork %d type %s fileoff 0x%llx ret_ip %pS", + TP_printk("dev %d:%d ino 0x%llx fork %s type %s fileoff 0x%llx ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, - __entry->whichfork, + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __entry->offset, __entry->ret_ip) @@ -381,10 +381,10 @@ TRACE_EVENT(xchk_ifork_btree_op_error, __entry->error = error; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x error %d ret_ip %pS", + TP_printk("dev %d:%d ino 0x%llx fork %s type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x error %d ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, - __entry->whichfork, + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->level, @@ -460,10 +460,10 @@ TRACE_EVENT(xchk_ifork_btree_error, __entry->ptr = cur->bc_ptrs[level]; __entry->ret_ip = ret_ip; ), - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x ret_ip %pS", + TP_printk("dev %d:%d ino 0x%llx fork %s type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x ret_ip %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, - __entry->whichfork, + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->level, diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 29bf5fbfa71b..474fdaffdccf 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -1440,7 +1440,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, __entry->size, __entry->offset, __entry->count, - __entry->whichfork == XFS_COW_FORK ? "cow" : "data", + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), __entry->startoff, (int64_t)__entry->startblock, __entry->blockcount) @@ -2604,7 +2604,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, __entry->agno, __entry->agbno, __entry->ino, - __entry->whichfork == XFS_ATTR_FORK ? "attr" : "data", + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), __entry->l_loff, __entry->l_len, __entry->l_state) @@ -3851,7 +3851,7 @@ TRACE_EVENT(xfs_btree_commit_ifakeroot, __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->agno, __entry->agino, - __entry->whichfork == XFS_ATTR_FORK ? "attr" : "data", + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), __entry->levels, __entry->blocks) )
From: Darrick J. Wong <djwong@kernel.org> For the remaining xfs_buf tracepoints, convert all the tags to xfs_daddr_t units and retag them 'daddrcount' to match everything else. Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/xfs_trace.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 474fdaffdccf..3b53fd681ce7 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -397,7 +397,7 @@ DECLARE_EVENT_CLASS(xfs_buf_class, __entry->flags = bp->b_flags; __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d daddr 0x%llx nblks 0x%x hold %d pincount %d " + TP_printk("dev %d:%d daddr 0x%llx daddrcount 0x%x hold %d pincount %d " "lock %d flags %s caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), (unsigned long long)__entry->bno, @@ -448,7 +448,7 @@ DECLARE_EVENT_CLASS(xfs_buf_flags_class, TP_STRUCT__entry( __field(dev_t, dev) __field(xfs_daddr_t, bno) - __field(size_t, buffer_length) + __field(unsigned int, length) __field(int, hold) __field(int, pincount) __field(unsigned, lockval) @@ -458,18 +458,18 @@ DECLARE_EVENT_CLASS(xfs_buf_flags_class, TP_fast_assign( __entry->dev = bp->b_target->bt_dev; __entry->bno = bp->b_bn; - __entry->buffer_length = BBTOB(bp->b_length); + __entry->length = bp->b_length; __entry->flags = flags; __entry->hold = atomic_read(&bp->b_hold); __entry->pincount = atomic_read(&bp->b_pin_count); __entry->lockval = bp->b_sema.count; __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " + TP_printk("dev %d:%d daddr 0x%llx daddrcount 0x%x hold %d pincount %d " "lock %d flags %s caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), (unsigned long long)__entry->bno, - __entry->buffer_length, + __entry->length, __entry->hold, __entry->pincount, __entry->lockval, @@ -491,7 +491,7 @@ TRACE_EVENT(xfs_buf_ioerror, TP_STRUCT__entry( __field(dev_t, dev) __field(xfs_daddr_t, bno) - __field(size_t, buffer_length) + __field(unsigned int, length) __field(unsigned, flags) __field(int, hold) __field(int, pincount) @@ -502,7 +502,7 @@ TRACE_EVENT(xfs_buf_ioerror, TP_fast_assign( __entry->dev = bp->b_target->bt_dev; __entry->bno = bp->b_bn; - __entry->buffer_length = BBTOB(bp->b_length); + __entry->length = bp->b_length; __entry->hold = atomic_read(&bp->b_hold); __entry->pincount = atomic_read(&bp->b_pin_count); __entry->lockval = bp->b_sema.count; @@ -510,11 +510,11 @@ TRACE_EVENT(xfs_buf_ioerror, __entry->flags = bp->b_flags; __entry->caller_ip = caller_ip; ), - TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " + TP_printk("dev %d:%d daddr 0x%llx daddrcount 0x%x hold %d pincount %d " "lock %d error %d flags %s caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), (unsigned long long)__entry->bno, - __entry->buffer_length, + __entry->length, __entry->hold, __entry->pincount, __entry->lockval, @@ -529,7 +529,7 @@ DECLARE_EVENT_CLASS(xfs_buf_item_class, TP_STRUCT__entry( __field(dev_t, dev) __field(xfs_daddr_t, buf_bno) - __field(size_t, buf_len) + __field(unsigned int, buf_len) __field(int, buf_hold) __field(int, buf_pincount) __field(int, buf_lockval) @@ -545,14 +545,14 @@ DECLARE_EVENT_CLASS(xfs_buf_item_class, __entry->bli_recur = bip->bli_recur; __entry->bli_refcount = atomic_read(&bip->bli_refcount); __entry->buf_bno = bip->bli_buf->b_bn; - __entry->buf_len = BBTOB(bip->bli_buf->b_length); + __entry->buf_len = bip->bli_buf->b_length; __entry->buf_flags = bip->bli_buf->b_flags; __entry->buf_hold = atomic_read(&bip->bli_buf->b_hold); __entry->buf_pincount = atomic_read(&bip->bli_buf->b_pin_count); __entry->buf_lockval = bip->bli_buf->b_sema.count; __entry->li_flags = bip->bli_item.li_flags; ), - TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " + TP_printk("dev %d:%d daddr 0x%llx daddrcount 0x%x hold %d pincount %d " "lock %d flags %s recur %d refcount %d bliflags %s " "liflags %s", MAJOR(__entry->dev), MINOR(__entry->dev),
From: Darrick J. Wong <djwong@kernel.org> Always print inode generation in hexadecimal and preceded with the unit "gen". Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/scrub/trace.h | 2 +- fs/xfs/xfs_trace.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index 36f86b1497f4..2777d882819d 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -103,7 +103,7 @@ DECLARE_EVENT_CLASS(xchk_class, __entry->flags = sm->sm_flags; __entry->error = error; ), - TP_printk("dev %d:%d ino 0x%llx type %s agno 0x%x inum 0x%llx gen %u flags 0x%x error %d", + TP_printk("dev %d:%d ino 0x%llx type %s agno 0x%x inum 0x%llx gen 0x%x flags 0x%x error %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 3b53fd681ce7..984a23775340 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -2364,7 +2364,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, __entry->gen = be32_to_cpu(in_f->icl_gen); ), TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u blockcount 0x%x " - "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), + "gen 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, __entry->count, __entry->isize, __entry->length, __entry->gen) )
From: Darrick J. Wong <djwong@kernel.org> When using pretty-printed scrub tracepoints, decode the meaning of the scrub flags as strings for easier reading. Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/scrub/trace.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index 2777d882819d..e9b81b7645c1 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -79,6 +79,16 @@ TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_FSCOUNTERS); { XFS_SCRUB_TYPE_PQUOTA, "prjquota" }, \ { XFS_SCRUB_TYPE_FSCOUNTERS, "fscounters" } +#define XFS_SCRUB_FLAG_STRINGS \ + { XFS_SCRUB_IFLAG_REPAIR, "repair" }, \ + { XFS_SCRUB_OFLAG_CORRUPT, "corrupt" }, \ + { XFS_SCRUB_OFLAG_PREEN, "preen" }, \ + { XFS_SCRUB_OFLAG_XFAIL, "xfail" }, \ + { XFS_SCRUB_OFLAG_XCORRUPT, "xcorrupt" }, \ + { XFS_SCRUB_OFLAG_INCOMPLETE, "incomplete" }, \ + { XFS_SCRUB_OFLAG_WARNING, "warning" }, \ + { XFS_SCRUB_OFLAG_NO_REPAIR_NEEDED, "norepair" } + DECLARE_EVENT_CLASS(xchk_class, TP_PROTO(struct xfs_inode *ip, struct xfs_scrub_metadata *sm, int error), @@ -103,14 +113,14 @@ DECLARE_EVENT_CLASS(xchk_class, __entry->flags = sm->sm_flags; __entry->error = error; ), - TP_printk("dev %d:%d ino 0x%llx type %s agno 0x%x inum 0x%llx gen 0x%x flags 0x%x error %d", + TP_printk("dev %d:%d ino 0x%llx type %s agno 0x%x inum 0x%llx gen 0x%x flags (%s) error %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), __entry->agno, __entry->inum, __entry->gen, - __entry->flags, + __print_flags(__entry->flags, "|", XFS_SCRUB_FLAG_STRINGS), __entry->error) ) #define DEFINE_SCRUB_EVENT(name) \
On Tue, Aug 17, 2021 at 04:42:17PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> XFS_DADDR_TO_FSB converts a raw disk address (in units of 512b blocks)
> to a raw disk address (in units of fs blocks). Unfortunately, the
> xchk_block_error_class tracepoints incorrectly uses this to decode
> xfs_daddr_t into segmented AG number and AG block addresses. Use the
> correct translation code.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/scrub/trace.h | 16 ++++------------
> 1 file changed, 4 insertions(+), 12 deletions(-)
Looks good.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:42:23PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Always print inode numbers in hexadecimal and preceded with the unit
> "ino" or "agino", as apropriate. Fix one tracepoint that used "ino %u"
> for an inode btree block count to reduce confusion.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/scrub/trace.h | 8 ++++----
> fs/xfs/xfs_trace.h | 12 ++++++------
> 2 files changed, 10 insertions(+), 10 deletions(-)
Yay!
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:42:28PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Always print allocation group numbers in hexadecimal and preceded with
> the unit "agno".
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/scrub/trace.h | 34 ++++++++++++------------
> fs/xfs/xfs_trace.h | 72 +++++++++++++++++++++++++-------------------------
> 2 files changed, 53 insertions(+), 53 deletions(-)
LGTM.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:42:34PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Always print allocation group block numbers in hexadecimal and preceded
> with the unit "agbno".
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
looks OK.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:42:39PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Always print rmap owner number in hexadecimal and preceded with the unit
> "owner".
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/scrub/trace.h | 2 +-
> fs/xfs/xfs_trace.h | 10 +++++-----
> 2 files changed, 6 insertions(+), 6 deletions(-)
Looks good.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:42:45PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Always print disk addr (i.e. 512 byte block) numbers in hexadecimal and
> preceded with the unit "daddr".
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/xfs_trace.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
Looks good.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:42:50PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Some of our tracepoints describe fields as "blkno", "block", or "bno".
> That name doesn't describe any units, which makes the fields not very
> useful. Rename the fields to capture units and ensure the format is
> hexadecimal.
>
> "startblock" is the startblock field from the bmap structure, which is a
> segmented fsblock on the data device, or an rfsblock on the realtime
> device.
> "fileoff" is a file offset, in units of filesystem blocks
> "daddr" is a raw device offset, in 512b blocks
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/xfs_trace.h | 26 +++++++++++++-------------
> 1 file changed, 13 insertions(+), 13 deletions(-)
Some nice cleanups in that lot :)
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:42:56PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Some of our tracepoints describe fields as "offset". That name doesn't > describe any units, which makes the fields not very useful. Rename the > fields to capture units and ensure the format is hexadecimal. > > "fileoff" means file offset, in units of fs blocks > "pos" means file offset, in bytes > "forkoff" means inode fork offset, in bytes > > The one remaining "offset" value is for iclogs, since that's the byte > offset of the end of where we've written into the current iclog. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > fs/xfs/scrub/trace.h | 6 +++--- > fs/xfs/xfs_trace.h | 29 ++++++++++++++--------------- > 2 files changed, 17 insertions(+), 18 deletions(-) .... > @@ -2145,7 +2145,7 @@ DECLARE_EVENT_CLASS(xfs_swap_extent_class, > __entry->fork_off = XFS_IFORK_BOFF(ip); > ), > TP_printk("dev %d:%d ino 0x%llx (%s), %s format, num_extents %d, " > - "broot size %d, fork offset %d", > + "broot size %d, forkoff %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __print_symbolic(__entry->which, XFS_SWAPEXT_INODES), Format should be 0x%x? Otherwise looks fine. With that fixed, Reviewed-by: Dave Chinner <dchinner@redhat.com> -- Dave Chinner david@fromorbit.com
On Tue, Aug 17, 2021 at 04:43:01PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Some of our tracepoints have a field known as "len". That name doesn't > describe any units, which makes the fields not very useful. Rename the > fields to capture units and ensure the format is hexadecimal. > > "blockcount" are in units of fs blocks > "daddrcount" are in units of 512b blocks Hmmm. This is the first set of units I'll consider suggesting a change in naming - "blockcount" seems ambiguous and easily mistaken, while "daddrcount" just seems a bit wierd. Perhaps: "fsbcount" is a length in units of fs blocks "bbcount" is a length in units of basic (512b) blocks ..... > @@ -2363,7 +2363,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, > __entry->length = be32_to_cpu(in_f->icl_length); > __entry->gen = be32_to_cpu(in_f->icl_gen); > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u length %u " > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u blockcount 0x%x " > "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, __entry->agbno, __entry->count, __entry->isize, > __entry->length, __entry->gen) THis one could probably do with a bit of help - count is the number of inodes, so the order of the tracepoint probably should be reworked to put the fsbcount directly after the agbno. i.e. TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x isize %u count %u gen %u", .... The rest of the conversions look good, though. Cheers, Dave. -- Dave Chinner david@fromorbit.com
On Thu, Aug 19, 2021 at 01:01:47PM +1000, Dave Chinner wrote: > On Tue, Aug 17, 2021 at 04:43:01PM -0700, Darrick J. Wong wrote: > > From: Darrick J. Wong <djwong@kernel.org> > > > > Some of our tracepoints have a field known as "len". That name doesn't > > describe any units, which makes the fields not very useful. Rename the > > fields to capture units and ensure the format is hexadecimal. > > > > "blockcount" are in units of fs blocks > > "daddrcount" are in units of 512b blocks > > Hmmm. This is the first set of units I'll consider suggesting a > change in naming - "blockcount" seems ambiguous and easily mistaken, > while "daddrcount" just seems a bit wierd. Perhaps: > > "fsbcount" is a length in units of fs blocks > "bbcount" is a length in units of basic (512b) blocks I like that suggestion. Will update. --D > ..... > > @@ -2363,7 +2363,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, > > __entry->length = be32_to_cpu(in_f->icl_length); > > __entry->gen = be32_to_cpu(in_f->icl_gen); > > ), > > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u length %u " > > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u blockcount 0x%x " > > "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), > > __entry->agno, __entry->agbno, __entry->count, __entry->isize, > > __entry->length, __entry->gen) > > THis one could probably do with a bit of help - count is the number > of inodes, so the order of the tracepoint probably should be > reworked to put the fsbcount directly after the agbno. i.e. > > TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x isize %u count %u gen %u", > .... > > The rest of the conversions look good, though. > > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com
From: Darrick J. Wong <djwong@kernel.org> Because there are a lot of tracepoints that express numeric data with an associated unit and tag, document what they are to help everyone else keep these thigns straight. Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- fs/xfs/scrub/trace.h | 4 ++++ fs/xfs/xfs_trace.h | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index e9b81b7645c1..20f34548bfe5 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -2,6 +2,10 @@ /* * Copyright (C) 2017 Oracle. All Rights Reserved. * Author: Darrick J. Wong <darrick.wong@oracle.com> + * + * NOTE: none of these tracepoints shall be considered a stable kernel ABI + * as they can change at any time. See xfs_trace.h for documentation of + * specific units found in tracepoint output. */ #undef TRACE_SYSTEM #define TRACE_SYSTEM xfs_scrub diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index a72cd56afc8c..c46dd4fea3e3 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -2,6 +2,30 @@ /* * Copyright (c) 2009, Christoph Hellwig * All Rights Reserved. + * + * NOTE: none of these tracepoints shall be considered a stable kernel ABI + * as they can change at any time. + * + * Current conventions for printing numbers measuring specific units: + * + * ino: filesystem inode number + * agino: per-AG inode number + * agno: allocation group number + * agbno: per-AG block number in fs blocks + * owner: reverse-mapping owner, usually inodes + * daddr: physical block number in 512b blocks + * startblock: physical block number for file mappings. This is either a + * segmented fsblock for data device mappings, or a rfsblock + * for realtime device mappings + * fileoff: file offset, in fs blocks + * pos: file offset, in bytes + * forkoff: inode fork offset, in bytes + * icount: number of inode records + * disize: ondisk file size, in bytes + * isize: incore file size, in bytes + * fsbcount: number of blocks in an extent, in fs blocks + * bbcount: number of blocks in a physical extent, in 512b blocks + * bytecount: number of bytes */ #undef TRACE_SYSTEM #define TRACE_SYSTEM xfs
On Tue, Aug 17, 2021 at 04:43:07PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Some of our tracepoints have a field known as "count". That name > doesn't describe any units, which makes the fields not very useful. > Rename the fields to capture units and ensure the format is hexadecimal > when we're referring to blocks, extents, or IO operations. > > "blockcount" are in units of fs blocks > "bytecount" are in units of bytes > "icount" are in units of inode records This is where fsbcount and bbcount really look like a reasonable way of encoding the unit into the description... :) Also, having noted in the previous patch that the icreate record trace point has a count of inodes as "count", perhaps this icount would be better as "ireccount" so that icount can be used as a count of inodes... > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > fs/xfs/xfs_trace.h | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 7ae654f7ae82..07da753588d5 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -346,7 +346,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class, > __entry->caller_ip = caller_ip; > ), > TP_printk("dev %d:%d ino 0x%llx state %s cur %p/%d " > - "fileoff 0x%llx startblock 0x%llx count %lld flag %d caller %pS", > + "fileoff 0x%llx startblock 0x%llx blockcount 0x%llx flag %d caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), > @@ -806,7 +806,7 @@ DECLARE_EVENT_CLASS(xfs_iref_class, > __entry->pincount = atomic_read(&ip->i_pincount); > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d ino 0x%llx count %d pincount %d caller %pS", > + TP_printk("dev %d:%d ino 0x%llx icount %d pincount %d caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->count, I don't think this is correct. This count is the current active reference count of the inode, not a count of inode records... Cheers, Dave. -- Dave Chinner david@fromorbit.com
On Tue, Aug 17, 2021 at 04:43:12PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Whenever we record i_disk_size (i.e. the ondisk file size), use the
> "disize" tag and hexadecimal format consistently.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/xfs_trace.h | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
Looks good.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:43:18PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Emit whichfork values as text strings in the ftrace output.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/libxfs/xfs_types.h | 5 +++++
> fs/xfs/scrub/trace.h | 16 ++++++++--------
> fs/xfs/xfs_trace.h | 6 +++---
> 3 files changed, 16 insertions(+), 11 deletions(-)
That's a good improvement.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:43:23PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> For the remaining xfs_buf tracepoints, convert all the tags to
> xfs_daddr_t units and retag them 'daddrcount' to match everything else.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/xfs_trace.h | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
s/daddrcount/bbcount/
Apart from that, I'm really happy to have all the buffer tracing use
the same length units now :)
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Thu, Aug 19, 2021 at 01:11:59PM +1000, Dave Chinner wrote: > On Tue, Aug 17, 2021 at 04:43:07PM -0700, Darrick J. Wong wrote: > > From: Darrick J. Wong <djwong@kernel.org> > > > > Some of our tracepoints have a field known as "count". That name > > doesn't describe any units, which makes the fields not very useful. > > Rename the fields to capture units and ensure the format is hexadecimal > > when we're referring to blocks, extents, or IO operations. > > > > "blockcount" are in units of fs blocks > > "bytecount" are in units of bytes > > "icount" are in units of inode records > > This is where fsbcount and bbcount really look like a reasonable way > of encoding the unit into the description... :) > > Also, having noted in the previous patch that the icreate record > trace point has a count of inodes as "count", perhaps this icount > would be better as "ireccount" so that icount can be used as a count > of inodes... Ok, patch 9 updated. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > > --- > > fs/xfs/xfs_trace.h | 14 +++++++------- > > 1 file changed, 7 insertions(+), 7 deletions(-) > > > > > > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > > index 7ae654f7ae82..07da753588d5 100644 > > --- a/fs/xfs/xfs_trace.h > > +++ b/fs/xfs/xfs_trace.h > > @@ -346,7 +346,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class, > > __entry->caller_ip = caller_ip; > > ), > > TP_printk("dev %d:%d ino 0x%llx state %s cur %p/%d " > > - "fileoff 0x%llx startblock 0x%llx count %lld flag %d caller %pS", > > + "fileoff 0x%llx startblock 0x%llx blockcount 0x%llx flag %d caller %pS", > > MAJOR(__entry->dev), MINOR(__entry->dev), > > __entry->ino, > > __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), > > @@ -806,7 +806,7 @@ DECLARE_EVENT_CLASS(xfs_iref_class, > > __entry->pincount = atomic_read(&ip->i_pincount); > > __entry->caller_ip = caller_ip; > > ), > > - TP_printk("dev %d:%d ino 0x%llx count %d pincount %d caller %pS", > > + TP_printk("dev %d:%d ino 0x%llx icount %d pincount %d caller %pS", > > MAJOR(__entry->dev), MINOR(__entry->dev), > > __entry->ino, > > __entry->count, > > I don't think this is correct. This count is the current active > reference count of the inode, not a count of inode records... Oops. I guess I got carried away. Fixed. --D > Cheers, > > Dave. > -- > Dave Chinner > david@fromorbit.com
On Tue, Aug 17, 2021 at 04:43:29PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Always print inode generation in hexadecimal and preceded with the unit
> "gen".
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/scrub/trace.h | 2 +-
> fs/xfs/xfs_trace.h | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
simple one :)
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:43:34PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> When using pretty-printed scrub tracepoints, decode the meaning of the
> scrub flags as strings for easier reading.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> fs/xfs/scrub/trace.h | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
Looks good.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Wed, Aug 18, 2021 at 08:07:28PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Because there are a lot of tracepoints that express numeric data with > an associated unit and tag, document what they are to help everyone else > keep these thigns straight. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> Thanks for adding this quickly. :) > --- > fs/xfs/scrub/trace.h | 4 ++++ > fs/xfs/xfs_trace.h | 24 ++++++++++++++++++++++++ > 2 files changed, 28 insertions(+) > > diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h > index e9b81b7645c1..20f34548bfe5 100644 > --- a/fs/xfs/scrub/trace.h > +++ b/fs/xfs/scrub/trace.h > @@ -2,6 +2,10 @@ > /* > * Copyright (C) 2017 Oracle. All Rights Reserved. > * Author: Darrick J. Wong <darrick.wong@oracle.com> > + * > + * NOTE: none of these tracepoints shall be considered a stable kernel ABI > + * as they can change at any time. See xfs_trace.h for documentation of > + * specific units found in tracepoint output. > */ > #undef TRACE_SYSTEM > #define TRACE_SYSTEM xfs_scrub > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index a72cd56afc8c..c46dd4fea3e3 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -2,6 +2,30 @@ > /* > * Copyright (c) 2009, Christoph Hellwig > * All Rights Reserved. > + * > + * NOTE: none of these tracepoints shall be considered a stable kernel ABI > + * as they can change at any time. > + * > + * Current conventions for printing numbers measuring specific units: > + * > + * ino: filesystem inode number > + * agino: per-AG inode number > + * agno: allocation group number > + * agbno: per-AG block number in fs blocks > + * owner: reverse-mapping owner, usually inodes > + * daddr: physical block number in 512b blocks > + * startblock: physical block number for file mappings. This is either a > + * segmented fsblock for data device mappings, or a rfsblock > + * for realtime device mappings > + * fileoff: file offset, in fs blocks > + * pos: file offset, in bytes > + * forkoff: inode fork offset, in bytes > + * icount: number of inode records ireccount? > + * disize: ondisk file size, in bytes > + * isize: incore file size, in bytes > + * fsbcount: number of blocks in an extent, in fs blocks > + * bbcount: number of blocks in a physical extent, in 512b blocks > + * bytecount: number of bytes > */ > #undef TRACE_SYSTEM > #define TRACE_SYSTEM xfs Only thing I'd add to this comment is that hexadecimal is the preferred output format for all these types. Cheers, Dave. -- Dave Chinner david@fromorbit.com
From: Darrick J. Wong <djwong@kernel.org> Some of our tracepoints have a field known as "len". That name doesn't describe any units, which makes the fields not very useful. Rename the fields to capture units and ensure the format is hexadecimal. "fsbcount" are in units of fs blocks "bbcount" are in units of 512b blocks "ireccount" are in units of inodes Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- v2: change the prefixes of the unit counts --- fs/xfs/scrub/trace.h | 8 +++--- fs/xfs/xfs_trace.h | 66 +++++++++++++++++++++++++++----------------------- 2 files changed, 39 insertions(+), 35 deletions(-) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index 5a57fea014f9..eb29f56dc9f1 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -572,7 +572,7 @@ TRACE_EVENT(xchk_iallocbt_check_cluster, __entry->holemask = holemask; __entry->cluster_ino = cluster_ino; ), - TP_printk("dev %d:%d agno 0x%x startino 0x%x daddr 0x%llx len %d chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", + TP_printk("dev %d:%d agno 0x%x startino 0x%x daddr 0x%llx bbcount 0x%x chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startino, @@ -662,7 +662,7 @@ DECLARE_EVENT_CLASS(xrep_extent_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x owner 0x%llx fileoff 0x%llx flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -737,7 +737,7 @@ TRACE_EVENT(xrep_refcount_extent_fn, __entry->blockcount = irec->rc_blockcount; __entry->refcount = irec->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 60837ff297bc..4169dc6cb5b9 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -1440,7 +1440,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, __entry->blockcount = irec ? irec->br_blockcount : 0; ), TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx count %zd " - "fork %s startoff 0x%llx startblock 0x%llx blockcount 0x%llx", + "fork %s startoff 0x%llx startblock 0x%llx fsbcount 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -1579,7 +1579,7 @@ TRACE_EVENT(xfs_bunmap, __entry->caller_ip = caller_ip; __entry->flags = flags; ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx fileoff 0x%llx len 0x%llx" + TP_printk("dev %d:%d ino 0x%llx size 0x%llx fileoff 0x%llx fsbcount 0x%llx" "flags %s caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, @@ -1607,7 +1607,7 @@ DECLARE_EVENT_CLASS(xfs_extent_busy_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1645,7 +1645,7 @@ TRACE_EVENT(xfs_extent_busy_trim, __entry->tbno = tbno; __entry->tlen = tlen; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u found_agbno 0x%x tlen %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x found_agbno 0x%x found_fsbcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1741,7 +1741,7 @@ TRACE_EVENT(xfs_free_extent, __entry->haveleft = haveleft; __entry->haveright = haveright; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u resv %d %s", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x resv %d %s", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1876,7 +1876,7 @@ TRACE_EVENT(xfs_alloc_cur_check, __entry->diff = diff; __entry->new = new; ), - TP_printk("dev %d:%d btree %s agbno 0x%x len 0x%x diff 0x%x new %d", + TP_printk("dev %d:%d btree %s agbno 0x%x fsbcount 0x%x diff 0x%x new %d", MAJOR(__entry->dev), MINOR(__entry->dev), __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), __entry->bno, __entry->len, __entry->diff, __entry->new) @@ -2277,7 +2277,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_buf_item_class, __entry->size = buf_f->blf_size; __entry->map_size = buf_f->blf_map_size; ), - TP_printk("dev %d:%d daddr 0x%llx, len %u, flags 0x%x, size %d, " + TP_printk("dev %d:%d daddr 0x%llx, bbcount 0x%x, flags 0x%x, size %d, " "map_size %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->blkno, @@ -2328,7 +2328,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_ino_item_class, __entry->boffset = in_f->ilf_boffset; ), TP_printk("dev %d:%d ino 0x%llx, size %u, fields 0x%x, asize %d, " - "dsize %d, daddr 0x%llx, len %d, boffset %d", + "dsize %d, daddr 0x%llx, bbcount 0x%x, boffset %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -2369,10 +2369,14 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, __entry->length = be32_to_cpu(in_f->icl_length); __entry->gen = be32_to_cpu(in_f->icl_gen); ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u length %u " - "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), - __entry->agno, __entry->agbno, __entry->count, __entry->isize, - __entry->length, __entry->gen) + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x ireccount 0x%x isize %u gen %u", + MAJOR(__entry->dev), MINOR(__entry->dev), + __entry->agno, + __entry->agbno, + __entry->length, + __entry->count, + __entry->isize, + __entry->gen) ) #define DEFINE_LOG_RECOVER_ICREATE_ITEM(name) \ DEFINE_EVENT(xfs_log_recover_icreate_item_class, name, \ @@ -2398,7 +2402,7 @@ DECLARE_EVENT_CLASS(xfs_discard_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2557,7 +2561,7 @@ DECLARE_EVENT_CLASS(xfs_phys_extent_deferred_class, __entry->agbno = agbno; __entry->len = len; ), - TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x len %u", + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x fsbcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->type, __entry->agno, @@ -2604,7 +2608,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, __entry->l_state = state; __entry->op = op; ), - TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s fileoff 0x%llx len %llu state %d", + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s fileoff 0x%llx fsbcount 0x%llx state %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->op, __entry->agno, @@ -2674,7 +2678,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class, if (unwritten) __entry->flags |= XFS_RMAP_UNWRITTEN; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%lx", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x owner 0x%llx fileoff 0x%llx flags 0x%lx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2754,7 +2758,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class, __entry->offset = offset; __entry->flags = flags; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x owner 0x%llx fileoff 0x%llx flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -2909,7 +2913,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_class, __entry->blockcount = irec->rc_blockcount; __entry->refcount = irec->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, @@ -2944,7 +2948,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_at_class, __entry->refcount = irec->rc_refcount; __entry->agbno = agbno; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u @ agbno 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u @ agbno 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->startblock, @@ -2984,8 +2988,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_class, __entry->i2_blockcount = i2->rc_blockcount; __entry->i2_refcount = i2->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " - "agbno 0x%x len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u -- " + "agbno 0x%x fsbcount 0x%x refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->i1_startblock, @@ -3030,8 +3034,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_at_class, __entry->i2_refcount = i2->rc_refcount; __entry->agbno = agbno; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " - "agbno 0x%x len %u refcount %u @ agbno 0x%x", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u -- " + "agbno 0x%x fsbcount 0x%x refcount %u @ agbno 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->i1_startblock, @@ -3082,9 +3086,9 @@ DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class, __entry->i3_blockcount = i3->rc_blockcount; __entry->i3_refcount = i3->rc_refcount; ), - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " - "agbno 0x%x len %u refcount %u -- " - "agbno 0x%x len %u refcount %u", + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u -- " + "agbno 0x%x fsbcount 0x%x refcount %u -- " + "agbno 0x%x fsbcount 0x%x refcount %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->i1_startblock, @@ -3171,7 +3175,7 @@ TRACE_EVENT(xfs_refcount_finish_one_leftover, __entry->new_agbno = new_agbno; __entry->new_len = new_len; ), - TP_printk("dev %d:%d type %d agno 0x%x agbno 0x%x len %u new_agbno 0x%x new_len %u", + TP_printk("dev %d:%d type %d agno 0x%x agbno 0x%x fsbcount 0x%x new_agbno 0x%x new_fsbcount 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->type, __entry->agno, @@ -3282,7 +3286,7 @@ DECLARE_EVENT_CLASS(xfs_inode_irec_class, __entry->pblk = irec->br_startblock; __entry->state = irec->br_state; ), - TP_printk("dev %d:%d ino 0x%llx fileoff 0x%llx len 0x%x startblock 0x%llx st %d", + TP_printk("dev %d:%d ino 0x%llx fileoff 0x%llx fsbcount 0x%x startblock 0x%llx st %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->lblk, @@ -3322,7 +3326,7 @@ TRACE_EVENT(xfs_reflink_remap_blocks, __entry->dest_ino = dest->i_ino; __entry->dest_lblk = doffset; ), - TP_printk("dev %d:%d len 0x%llx " + TP_printk("dev %d:%d fsbcount 0x%llx " "ino 0x%llx fileoff 0x%llx -> ino 0x%llx fileoff 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->len, @@ -3422,7 +3426,7 @@ DECLARE_EVENT_CLASS(xfs_fsmap_class, __entry->offset = rmap->rm_offset; __entry->flags = rmap->rm_flags; ), - TP_printk("dev %d:%d keydev %d:%d agno 0x%x startblock 0x%llx len %llu owner 0x%llx fileoff 0x%llx flags 0x%x", + TP_printk("dev %d:%d keydev %d:%d agno 0x%x startblock 0x%llx fsbcount 0x%llx owner 0x%llx fileoff 0x%llx flags 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->agno, @@ -3462,7 +3466,7 @@ DECLARE_EVENT_CLASS(xfs_getfsmap_class, __entry->offset = fsmap->fmr_offset; __entry->flags = fsmap->fmr_flags; ), - TP_printk("dev %d:%d keydev %d:%d daddr 0x%llx len %llu owner 0x%llx fileoff_daddr 0x%llx flags 0x%llx", + TP_printk("dev %d:%d keydev %d:%d daddr 0x%llx bbcount 0x%llx owner 0x%llx fileoff_daddr 0x%llx flags 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->keydev), MINOR(__entry->keydev), __entry->block,
From: Darrick J. Wong <djwong@kernel.org> Some of our tracepoints have a field known as "count". That name doesn't describe any units, which makes the fields not very useful. Rename the fields to capture units and ensure the format is hexadecimal when we're referring to blocks, extents, or IO operations. "fsbcount" are in units of fs blocks "bytecount" are in units of bytes "ireccount" are in units of inode records Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- v2: rename the count units --- fs/xfs/xfs_trace.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 4169dc6cb5b9..cc479caffd55 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -346,7 +346,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class, __entry->caller_ip = caller_ip; ), TP_printk("dev %d:%d ino 0x%llx state %s cur %p/%d " - "fileoff 0x%llx startblock 0x%llx count %lld flag %d caller %pS", + "fileoff 0x%llx startblock 0x%llx fsbcount 0x%llx flag %d caller %pS", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), @@ -1392,7 +1392,7 @@ DECLARE_EVENT_CLASS(xfs_file_class, __entry->offset = iocb->ki_pos; __entry->count = iov_iter_count(iter); ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx count 0x%zx", + TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx bytecount 0x%zx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->size, @@ -1439,7 +1439,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, __entry->startblock = irec ? irec->br_startblock : 0; __entry->blockcount = irec ? irec->br_blockcount : 0; ), - TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx count %zd " + TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx bytecount 0x%zx " "fork %s startoff 0x%llx startblock 0x%llx fsbcount 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, @@ -1482,7 +1482,7 @@ DECLARE_EVENT_CLASS(xfs_simple_io_class, __entry->count = count; ), TP_printk("dev %d:%d ino 0x%llx isize 0x%llx disize 0x%llx " - "pos 0x%llx count %zd", + "pos 0x%llx bytecount 0x%zx", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->ino, __entry->isize, @@ -3227,7 +3227,7 @@ DECLARE_EVENT_CLASS(xfs_double_io_class, __field(loff_t, src_isize) __field(loff_t, src_disize) __field(loff_t, src_offset) - __field(size_t, len) + __field(long long, len) __field(xfs_ino_t, dest_ino) __field(loff_t, dest_isize) __field(loff_t, dest_disize) @@ -3245,7 +3245,7 @@ DECLARE_EVENT_CLASS(xfs_double_io_class, __entry->dest_disize = dest->i_disk_size; __entry->dest_offset = doffset; ), - TP_printk("dev %d:%d count %zd " + TP_printk("dev %d:%d bytecount 0x%llx " "ino 0x%llx isize 0x%llx disize 0x%llx pos 0x%llx -> " "ino 0x%llx isize 0x%llx disize 0x%llx pos 0x%llx", MAJOR(__entry->dev), MINOR(__entry->dev),
From: Darrick J. Wong <djwong@kernel.org> Because there are a lot of tracepoints that express numeric data with an associated unit and tag, document what they are to help everyone else keep these thigns straight. Signed-off-by: Darrick J. Wong <djwong@kernel.org> --- v2: update unit names, say that we want hex, and put related tag names together --- fs/xfs/scrub/trace.h | 4 ++++ fs/xfs/xfs_trace.h | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index dfb10966af24..a7bbb84f91a7 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -2,6 +2,10 @@ /* * Copyright (C) 2017 Oracle. All Rights Reserved. * Author: Darrick J. Wong <darrick.wong@oracle.com> + * + * NOTE: none of these tracepoints shall be considered a stable kernel ABI + * as they can change at any time. See xfs_trace.h for documentation of + * specific units found in tracepoint output. */ #undef TRACE_SYSTEM #define TRACE_SYSTEM xfs_scrub diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 676b66173bb1..2694e1022b7b 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -2,6 +2,41 @@ /* * Copyright (c) 2009, Christoph Hellwig * All Rights Reserved. + * + * NOTE: none of these tracepoints shall be considered a stable kernel ABI + * as they can change at any time. + * + * Current conventions for printing numbers measuring specific units: + * + * agno: allocation group number + * + * agino: per-AG inode number + * ino: filesystem inode number + * + * agbno: per-AG block number in fs blocks + * startblock: physical block number for file mappings. This is either a + * segmented fsblock for data device mappings, or a rfsblock + * for realtime device mappings + * blockcount: number of blocks in an extent, in fs blocks + * + * daddr: physical block number in 512b blocks + * daddrcount: number of blocks in a physical extent, in 512b blocks + * + * owner: reverse-mapping owner, usually inodes + * + * fileoff: file offset, in fs blocks + * pos: file offset, in bytes + * bytecount: number of bytes + * + * disize: ondisk file size, in bytes + * isize: incore file size, in bytes + * + * forkoff: inode fork offset, in bytes + * + * ireccount: number of inode records + * + * Numbers describing space allocations (blocks, extents, inodes) should be + * formatted in hexadecimal. */ #undef TRACE_SYSTEM #define TRACE_SYSTEM xfs
On Wed, Aug 18, 2021 at 08:45:36PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Some of our tracepoints have a field known as "count". That name
> doesn't describe any units, which makes the fields not very useful.
> Rename the fields to capture units and ensure the format is hexadecimal
> when we're referring to blocks, extents, or IO operations.
>
> "fsbcount" are in units of fs blocks
> "bytecount" are in units of bytes
> "ireccount" are in units of inode records
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> v2: rename the count units
> ---
> fs/xfs/xfs_trace.h | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
Looks good, though ireccount is not used anywhere...
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Wed, Aug 18, 2021 at 08:46:47PM -0700, Darrick J. Wong wrote:
> From: Darrick J. Wong <djwong@kernel.org>
>
> Because there are a lot of tracepoints that express numeric data with
> an associated unit and tag, document what they are to help everyone else
> keep these thigns straight.
>
> Signed-off-by: Darrick J. Wong <djwong@kernel.org>
> ---
> v2: update unit names, say that we want hex, and put related tag names together
> ---
Looks good.
Reviewed-by: Dave Chinner <dchinner@redhat.com>
--
Dave Chinner
david@fromorbit.com
On Tue, Aug 17, 2021 at 04:42:17PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > XFS_DADDR_TO_FSB converts a raw disk address (in units of 512b blocks) > to a raw disk address (in units of fs blocks). Unfortunately, the > xchk_block_error_class tracepoints incorrectly uses this to decode > xfs_daddr_t into segmented AG number and AG block addresses. Use the > correct translation code. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > fs/xfs/scrub/trace.h | 16 ++++------------ > 1 file changed, 4 insertions(+), 12 deletions(-) > > > diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h > index e46f5cef90da..29f1d0ac7ec5 100644 > --- a/fs/xfs/scrub/trace.h > +++ b/fs/xfs/scrub/trace.h > @@ -193,29 +193,21 @@ DECLARE_EVENT_CLASS(xchk_block_error_class, > __field(dev_t, dev) > __field(unsigned int, type) > __field(xfs_agnumber_t, agno) > - __field(xfs_agblock_t, bno) > + __field(xfs_agblock_t, agbno) > __field(void *, ret_ip) > ), > TP_fast_assign( > - xfs_fsblock_t fsbno; > - xfs_agnumber_t agno; > - xfs_agblock_t bno; > - > - fsbno = XFS_DADDR_TO_FSB(sc->mp, daddr); > - agno = XFS_FSB_TO_AGNO(sc->mp, fsbno); > - bno = XFS_FSB_TO_AGBNO(sc->mp, fsbno); > - > __entry->dev = sc->mp->m_super->s_dev; > __entry->type = sc->sm->sm_type; > - __entry->agno = agno; > - __entry->bno = bno; > + __entry->agno = xfs_daddr_to_agno(sc->mp, daddr); > + __entry->agbno = xfs_daddr_to_agbno(sc->mp, daddr); > __entry->ret_ip = ret_ip; > ), > TP_printk("dev %d:%d type %s agno %u agbno %u ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __entry->agno, > - __entry->bno, > + __entry->agbno, > __entry->ret_ip) > ) > > -- Carlos
On Tue, Aug 17, 2021 at 04:42:23PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Always print inode numbers in hexadecimal and preceded with the unit > "ino" or "agino", as apropriate. Fix one tracepoint that used "ino %u" > for an inode btree block count to reduce confusion. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > --- > fs/xfs/scrub/trace.h | 8 ++++---- > fs/xfs/xfs_trace.h | 12 ++++++------ > 2 files changed, 10 insertions(+), 10 deletions(-) > > > diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h > index 29f1d0ac7ec5..e6e70d5870a2 100644 > --- a/fs/xfs/scrub/trace.h > +++ b/fs/xfs/scrub/trace.h > @@ -103,7 +103,7 @@ DECLARE_EVENT_CLASS(xchk_class, > __entry->flags = sm->sm_flags; > __entry->error = error; > ), > - TP_printk("dev %d:%d ino 0x%llx type %s agno %u inum %llu gen %u flags 0x%x error %d", > + TP_printk("dev %d:%d ino 0x%llx type %s agno %u inum 0x%llx gen %u flags 0x%x error %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > @@ -572,7 +572,7 @@ TRACE_EVENT(xchk_iallocbt_check_cluster, > __entry->holemask = holemask; > __entry->cluster_ino = cluster_ino; > ), > - TP_printk("dev %d:%d agno %d startino %u daddr 0x%llx len %d chunkino %u nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino %u", > + TP_printk("dev %d:%d agno %d startino 0x%x daddr 0x%llx len %d chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startino, > @@ -842,7 +842,7 @@ TRACE_EVENT(xrep_calc_ag_resblks_btsize, > __entry->rmapbt_sz = rmapbt_sz; > __entry->refcbt_sz = refcbt_sz; > ), > - TP_printk("dev %d:%d agno %d bno %u ino %u rmap %u refcount %u", > + TP_printk("dev %d:%d agno %d bnobt %u inobt %u rmapbt %u refcountbt %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->bnobt_sz, > @@ -886,7 +886,7 @@ TRACE_EVENT(xrep_ialloc_insert, > __entry->freecount = freecount; > __entry->freemask = freemask; > ), > - TP_printk("dev %d:%d agno %d startino %u holemask 0x%x count %u freecount %u freemask 0x%llx", > + TP_printk("dev %d:%d agno %d startino 0x%x holemask 0x%x count %u freecount %u freemask 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startino, > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 7e04a6adb349..6b2d4c5205d8 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -3191,7 +3191,7 @@ DECLARE_EVENT_CLASS(xfs_inode_error_class, > __entry->error = error; > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d ino %llx error %d caller %pS", > + TP_printk("dev %d:%d ino 0x%llx error %d caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->error, > @@ -3603,7 +3603,7 @@ DECLARE_EVENT_CLASS(xfs_ag_inode_class, > __entry->agno = XFS_INO_TO_AGNO(ip->i_mount, ip->i_ino); > __entry->agino = XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino); > ), > - TP_printk("dev %d:%d agno %u agino %u", > + TP_printk("dev %d:%d agno %u agino 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, __entry->agino) > ) > @@ -3706,7 +3706,7 @@ TRACE_EVENT(xfs_iwalk_ag, > __entry->agno = agno; > __entry->startino = startino; > ), > - TP_printk("dev %d:%d agno %d startino %u", > + TP_printk("dev %d:%d agno %d startino 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, > __entry->startino) > ) > @@ -3727,7 +3727,7 @@ TRACE_EVENT(xfs_iwalk_ag_rec, > __entry->startino = irec->ir_startino; > __entry->freemask = irec->ir_free; > ), > - TP_printk("dev %d:%d agno %d startino %u freemask 0x%llx", > + TP_printk("dev %d:%d agno %d startino 0x%x freemask 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, > __entry->startino, __entry->freemask) > ) > @@ -3790,7 +3790,7 @@ TRACE_EVENT(xfs_check_new_dalign, > __entry->sb_rootino = mp->m_sb.sb_rootino; > __entry->calc_rootino = calc_rootino; > ), > - TP_printk("dev %d:%d new_dalign %d sb_rootino %llu calc_rootino %llu", > + TP_printk("dev %d:%d new_dalign %d sb_rootino 0x%llx calc_rootino 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->new_dalign, __entry->sb_rootino, > __entry->calc_rootino) > @@ -3847,7 +3847,7 @@ TRACE_EVENT(xfs_btree_commit_ifakeroot, > __entry->blocks = cur->bc_ino.ifake->if_blocks; > __entry->whichfork = cur->bc_ino.whichfork; > ), > - TP_printk("dev %d:%d btree %s ag %u agino %u whichfork %s levels %u blocks %u", > + TP_printk("dev %d:%d btree %s ag %u agino 0x%x whichfork %s levels %u blocks %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > __entry->agno, > -- Carlos
On Tue, Aug 17, 2021 at 04:42:28PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Always print allocation group numbers in hexadecimal and preceded with > the unit "agno". > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > --- > fs/xfs/scrub/trace.h | 34 ++++++++++++------------ > fs/xfs/xfs_trace.h | 72 +++++++++++++++++++++++++------------------------- > 2 files changed, 53 insertions(+), 53 deletions(-) > > > diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h > index e6e70d5870a2..3676b1736bab 100644 > --- a/fs/xfs/scrub/trace.h > +++ b/fs/xfs/scrub/trace.h > @@ -103,7 +103,7 @@ DECLARE_EVENT_CLASS(xchk_class, > __entry->flags = sm->sm_flags; > __entry->error = error; > ), > - TP_printk("dev %d:%d ino 0x%llx type %s agno %u inum 0x%llx gen %u flags 0x%x error %d", > + TP_printk("dev %d:%d ino 0x%llx type %s agno 0x%x inum 0x%llx gen %u flags 0x%x error %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > @@ -145,7 +145,7 @@ TRACE_EVENT(xchk_op_error, > __entry->error = error; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d type %s agno %u agbno %u error %d ret_ip %pS", > + TP_printk("dev %d:%d type %s agno 0x%x agbno %u error %d ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __entry->agno, > @@ -203,7 +203,7 @@ DECLARE_EVENT_CLASS(xchk_block_error_class, > __entry->agbno = xfs_daddr_to_agbno(sc->mp, daddr); > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d type %s agno %u agbno %u ret_ip %pS", > + TP_printk("dev %d:%d type %s agno 0x%x agbno %u ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __entry->agno, > @@ -338,7 +338,7 @@ TRACE_EVENT(xchk_btree_op_error, > __entry->error = error; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno %u agbno %u error %d ret_ip %pS", > + TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno %u error %d ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > @@ -381,7 +381,7 @@ TRACE_EVENT(xchk_ifork_btree_op_error, > __entry->error = error; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno %u agbno %u error %d ret_ip %pS", > + TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno %u error %d ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->whichfork, > @@ -420,7 +420,7 @@ TRACE_EVENT(xchk_btree_error, > __entry->ptr = cur->bc_ptrs[level]; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno %u agbno %u ret_ip %pS", > + TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno %u ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > @@ -460,7 +460,7 @@ TRACE_EVENT(xchk_ifork_btree_error, > __entry->ptr = cur->bc_ptrs[level]; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno %u agbno %u ret_ip %pS", > + TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno %u ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->whichfork, > @@ -499,7 +499,7 @@ DECLARE_EVENT_CLASS(xchk_sbtree_class, > __entry->nlevels = cur->bc_nlevels; > __entry->ptr = cur->bc_ptrs[level]; > ), > - TP_printk("dev %d:%d type %s btree %s agno %u agbno %u level %d nlevels %d ptr %d", > + TP_printk("dev %d:%d type %s btree %s agno 0x%x agbno %u level %d nlevels %d ptr %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > @@ -572,7 +572,7 @@ TRACE_EVENT(xchk_iallocbt_check_cluster, > __entry->holemask = holemask; > __entry->cluster_ino = cluster_ino; > ), > - TP_printk("dev %d:%d agno %d startino 0x%x daddr 0x%llx len %d chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", > + TP_printk("dev %d:%d agno 0x%x startino 0x%x daddr 0x%llx len %d chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startino, > @@ -662,7 +662,7 @@ DECLARE_EVENT_CLASS(xrep_extent_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class, > __entry->offset = offset; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u owner %lld offset %llu flags 0x%x", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -737,7 +737,7 @@ TRACE_EVENT(xrep_refcount_extent_fn, > __entry->blockcount = irec->rc_blockcount; > __entry->refcount = irec->rc_refcount; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startblock, > @@ -761,7 +761,7 @@ TRACE_EVENT(xrep_init_btblock, > __entry->agbno = agbno; > __entry->btnum = btnum; > ), > - TP_printk("dev %d:%d agno %u agbno %u btree %s", > + TP_printk("dev %d:%d agno 0x%x agbno %u btree %s", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -785,7 +785,7 @@ TRACE_EVENT(xrep_findroot_block, > __entry->magic = magic; > __entry->level = level; > ), > - TP_printk("dev %d:%d agno %u agbno %u magic 0x%x level %u", > + TP_printk("dev %d:%d agno 0x%x agbno %u magic 0x%x level %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -813,7 +813,7 @@ TRACE_EVENT(xrep_calc_ag_resblks, > __entry->freelen = freelen; > __entry->usedlen = usedlen; > ), > - TP_printk("dev %d:%d agno %d icount %u aglen %u freelen %u usedlen %u", > + TP_printk("dev %d:%d agno 0x%x icount %u aglen %u freelen %u usedlen %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->icount, > @@ -842,7 +842,7 @@ TRACE_EVENT(xrep_calc_ag_resblks_btsize, > __entry->rmapbt_sz = rmapbt_sz; > __entry->refcbt_sz = refcbt_sz; > ), > - TP_printk("dev %d:%d agno %d bnobt %u inobt %u rmapbt %u refcountbt %u", > + TP_printk("dev %d:%d agno 0x%x bnobt %u inobt %u rmapbt %u refcountbt %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->bnobt_sz, > @@ -886,7 +886,7 @@ TRACE_EVENT(xrep_ialloc_insert, > __entry->freecount = freecount; > __entry->freemask = freemask; > ), > - TP_printk("dev %d:%d agno %d startino 0x%x holemask 0x%x count %u freecount %u freemask 0x%llx", > + TP_printk("dev %d:%d agno 0x%x startino 0x%x holemask 0x%x count %u freecount %u freemask 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startino, > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 6b2d4c5205d8..9ddc710c1be9 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -139,7 +139,7 @@ DECLARE_EVENT_CLASS(xfs_perag_class, > __entry->refcount = refcount; > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d agno %u refcount %d caller %pS", > + TP_printk("dev %d:%d agno 0x%x refcount %d caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->refcount, > @@ -246,7 +246,7 @@ DECLARE_EVENT_CLASS(xfs_ag_class, > __entry->dev = mp->m_super->s_dev; > __entry->agno = agno; > ), > - TP_printk("dev %d:%d agno %u", > + TP_printk("dev %d:%d agno 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno) > ); > @@ -612,7 +612,7 @@ DECLARE_EVENT_CLASS(xfs_filestream_class, > __entry->agno = agno; > __entry->streams = xfs_filestream_peek_ag(mp, agno); > ), > - TP_printk("dev %d:%d ino 0x%llx agno %u streams %d", > + TP_printk("dev %d:%d ino 0x%llx agno 0x%x streams %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->agno, > @@ -646,7 +646,7 @@ TRACE_EVENT(xfs_filestream_pick, > __entry->free = free; > __entry->nscan = nscan; > ), > - TP_printk("dev %d:%d ino 0x%llx agno %u streams %d free %d nscan %d", > + TP_printk("dev %d:%d ino 0x%llx agno 0x%x streams %d free %d nscan %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->agno, > @@ -858,7 +858,7 @@ TRACE_EVENT(xfs_irec_merge_pre, > __entry->nagino = nagino; > __entry->nholemask = holemask; > ), > - TP_printk("dev %d:%d agno %d inobt (%u:0x%x) new (%u:0x%x)", > + TP_printk("dev %d:%d agno 0x%x inobt (%u:0x%x) new (%u:0x%x)", > MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, > __entry->agino, __entry->holemask, __entry->nagino, > __entry->nholemask) > @@ -880,7 +880,7 @@ TRACE_EVENT(xfs_irec_merge_post, > __entry->agino = agino; > __entry->holemask = holemask; > ), > - TP_printk("dev %d:%d agno %d inobt (%u:0x%x)", MAJOR(__entry->dev), > + TP_printk("dev %d:%d agno 0x%x inobt (%u:0x%x)", MAJOR(__entry->dev), > MINOR(__entry->dev), __entry->agno, __entry->agino, > __entry->holemask) > ) > @@ -1601,7 +1601,7 @@ DECLARE_EVENT_CLASS(xfs_extent_busy_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -1639,7 +1639,7 @@ TRACE_EVENT(xfs_extent_busy_trim, > __entry->tbno = tbno; > __entry->tlen = tlen; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u tbno %u tlen %u", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u tbno %u tlen %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -1686,7 +1686,7 @@ DECLARE_EVENT_CLASS(xfs_agf_class, > __entry->longest = be32_to_cpu(agf->agf_longest); > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d agno %u flags %s length %u roots b %u c %u " > + TP_printk("dev %d:%d agno 0x%x flags %s length %u roots b %u c %u " > "levels b %u c %u flfirst %u fllast %u flcount %u " > "freeblks %u longest %u caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > @@ -1735,7 +1735,7 @@ TRACE_EVENT(xfs_free_extent, > __entry->haveleft = haveleft; > __entry->haveright = haveright; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u resv %d %s", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u resv %d %s", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -1792,7 +1792,7 @@ DECLARE_EVENT_CLASS(xfs_alloc_class, > __entry->datatype = args->datatype; > __entry->firstblock = args->tp->t_firstblock; > ), > - TP_printk("dev %d:%d agno %u agbno %u minlen %u maxlen %u mod %u " > + TP_printk("dev %d:%d agno 0x%x agbno %u minlen %u maxlen %u mod %u " > "prod %u minleft %u total %u alignment %u minalignslop %u " > "len %u type %s otype %s wasdel %d wasfromfl %d resv %d " > "datatype 0x%x firstblock 0x%llx", > @@ -2363,7 +2363,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, > __entry->length = be32_to_cpu(in_f->icl_length); > __entry->gen = be32_to_cpu(in_f->icl_gen); > ), > - TP_printk("dev %d:%d agno %u agbno %u count %u isize %u length %u " > + TP_printk("dev %d:%d agno 0x%x agbno %u count %u isize %u length %u " > "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, __entry->agbno, __entry->count, __entry->isize, > __entry->length, __entry->gen) > @@ -2392,7 +2392,7 @@ DECLARE_EVENT_CLASS(xfs_discard_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2551,7 +2551,7 @@ DECLARE_EVENT_CLASS(xfs_phys_extent_deferred_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d op %d agno %u agbno %u len %u", > + TP_printk("dev %d:%d op %d agno 0x%x agbno %u len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->type, > __entry->agno, > @@ -2598,7 +2598,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, > __entry->l_state = state; > __entry->op = op; > ), > - TP_printk("dev %d:%d op %d agno %u agbno %u owner %lld %s offset %llu len %llu state %d", > + TP_printk("dev %d:%d op %d agno 0x%x agbno %u owner %lld %s offset %llu len %llu state %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->op, > __entry->agno, > @@ -2668,7 +2668,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class, > if (unwritten) > __entry->flags |= XFS_RMAP_UNWRITTEN; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u owner %lld offset %llu flags 0x%lx", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%lx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2701,7 +2701,7 @@ DECLARE_EVENT_CLASS(xfs_ag_error_class, > __entry->error = error; > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d agno %u error %d caller %pS", > + TP_printk("dev %d:%d agno 0x%x error %d caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->error, > @@ -2748,7 +2748,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class, > __entry->offset = offset; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u owner %lld offset %llu flags 0x%x", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2817,7 +2817,7 @@ DECLARE_EVENT_CLASS(xfs_ag_resv_class, > __entry->asked = r ? r->ar_asked : 0; > __entry->len = len; > ), > - TP_printk("dev %d:%d agno %u resv %d freeblks %u flcount %u " > + TP_printk("dev %d:%d agno 0x%x resv %d freeblks %u flcount %u " > "resv %u ask %u len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > @@ -2870,7 +2870,7 @@ DECLARE_EVENT_CLASS(xfs_ag_btree_lookup_class, > __entry->agbno = agbno; > __entry->dir = dir; > ), > - TP_printk("dev %d:%d agno %u agbno %u cmp %s(%d)", > + TP_printk("dev %d:%d agno 0x%x agbno %u cmp %s(%d)", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2903,7 +2903,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_class, > __entry->blockcount = irec->rc_blockcount; > __entry->refcount = irec->rc_refcount; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startblock, > @@ -2938,7 +2938,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_at_class, > __entry->refcount = irec->rc_refcount; > __entry->agbno = agbno; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u @ agbno %u", > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u @ agbno %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startblock, > @@ -2978,7 +2978,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_class, > __entry->i2_blockcount = i2->rc_blockcount; > __entry->i2_refcount = i2->rc_refcount; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u -- " > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " > "agbno %u len %u refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > @@ -3024,7 +3024,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_at_class, > __entry->i2_refcount = i2->rc_refcount; > __entry->agbno = agbno; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u -- " > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " > "agbno %u len %u refcount %u @ agbno %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > @@ -3076,7 +3076,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class, > __entry->i3_blockcount = i3->rc_blockcount; > __entry->i3_refcount = i3->rc_refcount; > ), > - TP_printk("dev %d:%d agno %u agbno %u len %u refcount %u -- " > + TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " > "agbno %u len %u refcount %u -- " > "agbno %u len %u refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > @@ -3165,7 +3165,7 @@ TRACE_EVENT(xfs_refcount_finish_one_leftover, > __entry->new_agbno = new_agbno; > __entry->new_len = new_len; > ), > - TP_printk("dev %d:%d type %d agno %u agbno %u len %u new_agbno %u new_len %u", > + TP_printk("dev %d:%d type %d agno 0x%x agbno %u len %u new_agbno %u new_len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->type, > __entry->agno, > @@ -3417,7 +3417,7 @@ DECLARE_EVENT_CLASS(xfs_fsmap_class, > __entry->offset = rmap->rm_offset; > __entry->flags = rmap->rm_flags; > ), > - TP_printk("dev %d:%d keydev %d:%d agno %u bno %llu len %llu owner %lld offset %llu flags 0x%x", > + TP_printk("dev %d:%d keydev %d:%d agno 0x%x bno %llu len %llu owner %lld offset %llu flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > MAJOR(__entry->keydev), MINOR(__entry->keydev), > __entry->agno, > @@ -3556,7 +3556,7 @@ TRACE_EVENT(xfs_iunlink_update_bucket, > __entry->old_ptr = old_ptr; > __entry->new_ptr = new_ptr; > ), > - TP_printk("dev %d:%d agno %u bucket %u old 0x%x new 0x%x", > + TP_printk("dev %d:%d agno 0x%x bucket %u old 0x%x new 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->bucket, > @@ -3582,7 +3582,7 @@ TRACE_EVENT(xfs_iunlink_update_dinode, > __entry->old_ptr = old_ptr; > __entry->new_ptr = new_ptr; > ), > - TP_printk("dev %d:%d agno %u agino 0x%x old 0x%x new 0x%x", > + TP_printk("dev %d:%d agno 0x%x agino 0x%x old 0x%x new 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agino, > @@ -3603,7 +3603,7 @@ DECLARE_EVENT_CLASS(xfs_ag_inode_class, > __entry->agno = XFS_INO_TO_AGNO(ip->i_mount, ip->i_ino); > __entry->agino = XFS_INO_TO_AGINO(ip->i_mount, ip->i_ino); > ), > - TP_printk("dev %d:%d agno %u agino 0x%x", > + TP_printk("dev %d:%d agno 0x%x agino 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, __entry->agino) > ) > @@ -3655,7 +3655,7 @@ DECLARE_EVENT_CLASS(xfs_ag_corrupt_class, > __entry->agno = agno; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d agno %u flags 0x%x", > + TP_printk("dev %d:%d agno 0x%x flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, __entry->flags) > ); > @@ -3706,7 +3706,7 @@ TRACE_EVENT(xfs_iwalk_ag, > __entry->agno = agno; > __entry->startino = startino; > ), > - TP_printk("dev %d:%d agno %d startino 0x%x", > + TP_printk("dev %d:%d agno 0x%x startino 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, > __entry->startino) > ) > @@ -3727,7 +3727,7 @@ TRACE_EVENT(xfs_iwalk_ag_rec, > __entry->startino = irec->ir_startino; > __entry->freemask = irec->ir_free; > ), > - TP_printk("dev %d:%d agno %d startino 0x%x freemask 0x%llx", > + TP_printk("dev %d:%d agno 0x%x startino 0x%x freemask 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, > __entry->startino, __entry->freemask) > ) > @@ -3815,7 +3815,7 @@ TRACE_EVENT(xfs_btree_commit_afakeroot, > __entry->levels = cur->bc_ag.afake->af_levels; > __entry->blocks = cur->bc_ag.afake->af_blocks; > ), > - TP_printk("dev %d:%d btree %s ag %u levels %u blocks %u root %u", > + TP_printk("dev %d:%d btree %s agno 0x%x levels %u blocks %u root %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > __entry->agno, > @@ -3847,7 +3847,7 @@ TRACE_EVENT(xfs_btree_commit_ifakeroot, > __entry->blocks = cur->bc_ino.ifake->if_blocks; > __entry->whichfork = cur->bc_ino.whichfork; > ), > - TP_printk("dev %d:%d btree %s ag %u agino 0x%x whichfork %s levels %u blocks %u", > + TP_printk("dev %d:%d btree %s agno 0x%x agino 0x%x whichfork %s levels %u blocks %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > __entry->agno, > @@ -3930,7 +3930,7 @@ TRACE_EVENT(xfs_btree_bload_block, > } > __entry->nr_records = nr_records; > ), > - TP_printk("dev %d:%d btree %s level %u block %llu/%llu fsb (%u/%u) recs %u", > + TP_printk("dev %d:%d btree %s level %u block %llu/%llu agno 0x%x agbno %u recs %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > __entry->level, > -- Carlos
On Tue, Aug 17, 2021 at 04:42:34PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Always print allocation group block numbers in hexadecimal and preceded > with the unit "agbno". > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > --- > fs/xfs/scrub/trace.h | 24 ++++++++++++------------ > fs/xfs/xfs_trace.h | 46 +++++++++++++++++++++++----------------------- > 2 files changed, 35 insertions(+), 35 deletions(-) > > > diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h > index 3676b1736bab..49822589a4ae 100644 > --- a/fs/xfs/scrub/trace.h > +++ b/fs/xfs/scrub/trace.h > @@ -145,7 +145,7 @@ TRACE_EVENT(xchk_op_error, > __entry->error = error; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d type %s agno 0x%x agbno %u error %d ret_ip %pS", > + TP_printk("dev %d:%d type %s agno 0x%x agbno 0x%x error %d ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __entry->agno, > @@ -203,7 +203,7 @@ DECLARE_EVENT_CLASS(xchk_block_error_class, > __entry->agbno = xfs_daddr_to_agbno(sc->mp, daddr); > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d type %s agno 0x%x agbno %u ret_ip %pS", > + TP_printk("dev %d:%d type %s agno 0x%x agbno 0x%x ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __entry->agno, > @@ -338,7 +338,7 @@ TRACE_EVENT(xchk_btree_op_error, > __entry->error = error; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno %u error %d ret_ip %pS", > + TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x error %d ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > @@ -381,7 +381,7 @@ TRACE_EVENT(xchk_ifork_btree_op_error, > __entry->error = error; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno %u error %d ret_ip %pS", > + TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x error %d ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->whichfork, > @@ -420,7 +420,7 @@ TRACE_EVENT(xchk_btree_error, > __entry->ptr = cur->bc_ptrs[level]; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno %u ret_ip %pS", > + TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > @@ -460,7 +460,7 @@ TRACE_EVENT(xchk_ifork_btree_error, > __entry->ptr = cur->bc_ptrs[level]; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno %u ret_ip %pS", > + TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->whichfork, > @@ -499,7 +499,7 @@ DECLARE_EVENT_CLASS(xchk_sbtree_class, > __entry->nlevels = cur->bc_nlevels; > __entry->ptr = cur->bc_ptrs[level]; > ), > - TP_printk("dev %d:%d type %s btree %s agno 0x%x agbno %u level %d nlevels %d ptr %d", > + TP_printk("dev %d:%d type %s btree %s agno 0x%x agbno 0x%x level %d nlevels %d ptr %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > @@ -662,7 +662,7 @@ DECLARE_EVENT_CLASS(xrep_extent_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class, > __entry->offset = offset; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%x", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -737,7 +737,7 @@ TRACE_EVENT(xrep_refcount_extent_fn, > __entry->blockcount = irec->rc_blockcount; > __entry->refcount = irec->rc_refcount; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startblock, > @@ -761,7 +761,7 @@ TRACE_EVENT(xrep_init_btblock, > __entry->agbno = agbno; > __entry->btnum = btnum; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u btree %s", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x btree %s", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -785,7 +785,7 @@ TRACE_EVENT(xrep_findroot_block, > __entry->magic = magic; > __entry->level = level; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u magic 0x%x level %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x magic 0x%x level %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 9ddc710c1be9..a780b1752ede 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -1601,7 +1601,7 @@ DECLARE_EVENT_CLASS(xfs_extent_busy_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -1639,7 +1639,7 @@ TRACE_EVENT(xfs_extent_busy_trim, > __entry->tbno = tbno; > __entry->tlen = tlen; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u tbno %u tlen %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u found_agbno 0x%x tlen %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -1735,7 +1735,7 @@ TRACE_EVENT(xfs_free_extent, > __entry->haveleft = haveleft; > __entry->haveright = haveright; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u resv %d %s", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u resv %d %s", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -1792,7 +1792,7 @@ DECLARE_EVENT_CLASS(xfs_alloc_class, > __entry->datatype = args->datatype; > __entry->firstblock = args->tp->t_firstblock; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u minlen %u maxlen %u mod %u " > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x minlen %u maxlen %u mod %u " > "prod %u minleft %u total %u alignment %u minalignslop %u " > "len %u type %s otype %s wasdel %d wasfromfl %d resv %d " > "datatype 0x%x firstblock 0x%llx", > @@ -1870,7 +1870,7 @@ TRACE_EVENT(xfs_alloc_cur_check, > __entry->diff = diff; > __entry->new = new; > ), > - TP_printk("dev %d:%d btree %s bno 0x%x len 0x%x diff 0x%x new %d", > + TP_printk("dev %d:%d btree %s agbno 0x%x len 0x%x diff 0x%x new %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > __entry->bno, __entry->len, __entry->diff, __entry->new) > @@ -2363,7 +2363,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, > __entry->length = be32_to_cpu(in_f->icl_length); > __entry->gen = be32_to_cpu(in_f->icl_gen); > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u count %u isize %u length %u " > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u length %u " > "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, __entry->agbno, __entry->count, __entry->isize, > __entry->length, __entry->gen) > @@ -2392,7 +2392,7 @@ DECLARE_EVENT_CLASS(xfs_discard_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2551,7 +2551,7 @@ DECLARE_EVENT_CLASS(xfs_phys_extent_deferred_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d op %d agno 0x%x agbno %u len %u", > + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->type, > __entry->agno, > @@ -2598,7 +2598,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, > __entry->l_state = state; > __entry->op = op; > ), > - TP_printk("dev %d:%d op %d agno 0x%x agbno %u owner %lld %s offset %llu len %llu state %d", > + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner %lld %s offset %llu len %llu state %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->op, > __entry->agno, > @@ -2668,7 +2668,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class, > if (unwritten) > __entry->flags |= XFS_RMAP_UNWRITTEN; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%lx", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%lx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2748,7 +2748,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class, > __entry->offset = offset; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u owner %lld offset %llu flags 0x%x", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2870,7 +2870,7 @@ DECLARE_EVENT_CLASS(xfs_ag_btree_lookup_class, > __entry->agbno = agbno; > __entry->dir = dir; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u cmp %s(%d)", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x cmp %s(%d)", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2903,7 +2903,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_class, > __entry->blockcount = irec->rc_blockcount; > __entry->refcount = irec->rc_refcount; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startblock, > @@ -2938,7 +2938,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_at_class, > __entry->refcount = irec->rc_refcount; > __entry->agbno = agbno; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u @ agbno %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u @ agbno 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startblock, > @@ -2978,8 +2978,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_class, > __entry->i2_blockcount = i2->rc_blockcount; > __entry->i2_refcount = i2->rc_refcount; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " > - "agbno %u len %u refcount %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " > + "agbno 0x%x len %u refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->i1_startblock, > @@ -3024,8 +3024,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_at_class, > __entry->i2_refcount = i2->rc_refcount; > __entry->agbno = agbno; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " > - "agbno %u len %u refcount %u @ agbno %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " > + "agbno 0x%x len %u refcount %u @ agbno 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->i1_startblock, > @@ -3076,9 +3076,9 @@ DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class, > __entry->i3_blockcount = i3->rc_blockcount; > __entry->i3_refcount = i3->rc_refcount; > ), > - TP_printk("dev %d:%d agno 0x%x agbno %u len %u refcount %u -- " > - "agbno %u len %u refcount %u -- " > - "agbno %u len %u refcount %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " > + "agbno 0x%x len %u refcount %u -- " > + "agbno 0x%x len %u refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->i1_startblock, > @@ -3165,7 +3165,7 @@ TRACE_EVENT(xfs_refcount_finish_one_leftover, > __entry->new_agbno = new_agbno; > __entry->new_len = new_len; > ), > - TP_printk("dev %d:%d type %d agno 0x%x agbno %u len %u new_agbno %u new_len %u", > + TP_printk("dev %d:%d type %d agno 0x%x agbno 0x%x len %u new_agbno 0x%x new_len %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->type, > __entry->agno, > @@ -3930,7 +3930,7 @@ TRACE_EVENT(xfs_btree_bload_block, > } > __entry->nr_records = nr_records; > ), > - TP_printk("dev %d:%d btree %s level %u block %llu/%llu agno 0x%x agbno %u recs %u", > + TP_printk("dev %d:%d btree %s level %u block %llu/%llu agno 0x%x agbno 0x%x recs %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > __entry->level, > -- Carlos
On Tue, Aug 17, 2021 at 04:42:39PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Always print rmap owner number in hexadecimal and preceded with the unit > "owner". > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > --- > fs/xfs/scrub/trace.h | 2 +- > fs/xfs/xfs_trace.h | 10 +++++----- > 2 files changed, 6 insertions(+), 6 deletions(-) > > > diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h > index 49822589a4ae..486e6f3c0ea2 100644 > --- a/fs/xfs/scrub/trace.h > +++ b/fs/xfs/scrub/trace.h > @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class, > __entry->offset = offset; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%x", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx offset %llu flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index a780b1752ede..d6365a0ee0ff 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -2598,7 +2598,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, > __entry->l_state = state; > __entry->op = op; > ), > - TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner %lld %s offset %llu len %llu state %d", > + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s offset %llu len %llu state %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->op, > __entry->agno, > @@ -2668,7 +2668,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class, > if (unwritten) > __entry->flags |= XFS_RMAP_UNWRITTEN; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%lx", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx offset %llu flags 0x%lx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2748,7 +2748,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class, > __entry->offset = offset; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner %lld offset %llu flags 0x%x", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx offset %llu flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -3417,7 +3417,7 @@ DECLARE_EVENT_CLASS(xfs_fsmap_class, > __entry->offset = rmap->rm_offset; > __entry->flags = rmap->rm_flags; > ), > - TP_printk("dev %d:%d keydev %d:%d agno 0x%x bno %llu len %llu owner %lld offset %llu flags 0x%x", > + TP_printk("dev %d:%d keydev %d:%d agno 0x%x bno %llu len %llu owner 0x%llx offset %llu flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > MAJOR(__entry->keydev), MINOR(__entry->keydev), > __entry->agno, > @@ -3457,7 +3457,7 @@ DECLARE_EVENT_CLASS(xfs_getfsmap_class, > __entry->offset = fsmap->fmr_offset; > __entry->flags = fsmap->fmr_flags; > ), > - TP_printk("dev %d:%d keydev %d:%d block %llu len %llu owner %lld offset %llu flags 0x%llx", > + TP_printk("dev %d:%d keydev %d:%d block %llu len %llu owner 0x%llx offset %llu flags 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > MAJOR(__entry->keydev), MINOR(__entry->keydev), > __entry->block, > -- Carlos
On Tue, Aug 17, 2021 at 04:42:45PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Always print disk addr (i.e. 512 byte block) numbers in hexadecimal and > preceded with the unit "daddr". > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > --- > fs/xfs/xfs_trace.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index d6365a0ee0ff..3944373ad2f6 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -397,7 +397,7 @@ DECLARE_EVENT_CLASS(xfs_buf_class, > __entry->flags = bp->b_flags; > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d bno 0x%llx nblks 0x%x hold %d pincount %d " > + TP_printk("dev %d:%d daddr 0x%llx nblks 0x%x hold %d pincount %d " > "lock %d flags %s caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > (unsigned long long)__entry->bno, > @@ -465,7 +465,7 @@ DECLARE_EVENT_CLASS(xfs_buf_flags_class, > __entry->lockval = bp->b_sema.count; > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d " > + TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " > "lock %d flags %s caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > (unsigned long long)__entry->bno, > @@ -510,7 +510,7 @@ TRACE_EVENT(xfs_buf_ioerror, > __entry->flags = bp->b_flags; > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d " > + TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " > "lock %d error %d flags %s caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > (unsigned long long)__entry->bno, > @@ -552,7 +552,7 @@ DECLARE_EVENT_CLASS(xfs_buf_item_class, > __entry->buf_lockval = bip->bli_buf->b_sema.count; > __entry->li_flags = bip->bli_item.li_flags; > ), > - TP_printk("dev %d:%d bno 0x%llx len 0x%zx hold %d pincount %d " > + TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " > "lock %d flags %s recur %d refcount %d bliflags %s " > "liflags %s", > MAJOR(__entry->dev), MINOR(__entry->dev), > -- Carlos
On Tue, Aug 17, 2021 at 04:42:50PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Some of our tracepoints describe fields as "blkno", "block", or "bno". > That name doesn't describe any units, which makes the fields not very > useful. Rename the fields to capture units and ensure the format is > hexadecimal. > > "startblock" is the startblock field from the bmap structure, which is a > segmented fsblock on the data device, or an rfsblock on the realtime > device. > "fileoff" is a file offset, in units of filesystem blocks > "daddr" is a raw device offset, in 512b blocks > Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > fs/xfs/xfs_trace.h | 26 +++++++++++++------------- > 1 file changed, 13 insertions(+), 13 deletions(-) > > > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 3944373ad2f6..d725bc4bd1e7 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -346,7 +346,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class, > __entry->caller_ip = caller_ip; > ), > TP_printk("dev %d:%d ino 0x%llx state %s cur %p/%d " > - "offset %lld block %lld count %lld flag %d caller %pS", > + "offset %lld startblock 0x%llx count %lld flag %d caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), > @@ -1434,7 +1434,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, > __entry->blockcount = irec ? irec->br_blockcount : 0; > ), > TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset 0x%llx count %zd " > - "fork %s startoff 0x%llx startblock %lld blockcount 0x%llx", > + "fork %s startoff 0x%llx startblock 0x%llx blockcount 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->size, > @@ -1552,14 +1552,14 @@ TRACE_EVENT(xfs_pagecache_inval, > ); > > TRACE_EVENT(xfs_bunmap, > - TP_PROTO(struct xfs_inode *ip, xfs_fileoff_t bno, xfs_filblks_t len, > + TP_PROTO(struct xfs_inode *ip, xfs_fileoff_t fileoff, xfs_filblks_t len, > int flags, unsigned long caller_ip), > - TP_ARGS(ip, bno, len, flags, caller_ip), > + TP_ARGS(ip, fileoff, len, flags, caller_ip), > TP_STRUCT__entry( > __field(dev_t, dev) > __field(xfs_ino_t, ino) > __field(xfs_fsize_t, size) > - __field(xfs_fileoff_t, bno) > + __field(xfs_fileoff_t, fileoff) > __field(xfs_filblks_t, len) > __field(unsigned long, caller_ip) > __field(int, flags) > @@ -1568,17 +1568,17 @@ TRACE_EVENT(xfs_bunmap, > __entry->dev = VFS_I(ip)->i_sb->s_dev; > __entry->ino = ip->i_ino; > __entry->size = ip->i_disk_size; > - __entry->bno = bno; > + __entry->fileoff = fileoff; > __entry->len = len; > __entry->caller_ip = caller_ip; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d ino 0x%llx size 0x%llx bno 0x%llx len 0x%llx" > + TP_printk("dev %d:%d ino 0x%llx size 0x%llx fileoff 0x%llx len 0x%llx" > "flags %s caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->size, > - __entry->bno, > + __entry->fileoff, > __entry->len, > __print_flags(__entry->flags, "|", XFS_BMAPI_FLAGS), > (void *)__entry->caller_ip) > @@ -2271,7 +2271,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_buf_item_class, > __entry->size = buf_f->blf_size; > __entry->map_size = buf_f->blf_map_size; > ), > - TP_printk("dev %d:%d blkno 0x%llx, len %u, flags 0x%x, size %d, " > + TP_printk("dev %d:%d daddr 0x%llx, len %u, flags 0x%x, size %d, " > "map_size %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->blkno, > @@ -2322,7 +2322,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_ino_item_class, > __entry->boffset = in_f->ilf_boffset; > ), > TP_printk("dev %d:%d ino 0x%llx, size %u, fields 0x%x, asize %d, " > - "dsize %d, blkno 0x%llx, len %d, boffset %d", > + "dsize %d, daddr 0x%llx, len %d, boffset %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->size, > @@ -3276,7 +3276,7 @@ DECLARE_EVENT_CLASS(xfs_inode_irec_class, > __entry->pblk = irec->br_startblock; > __entry->state = irec->br_state; > ), > - TP_printk("dev %d:%d ino 0x%llx lblk 0x%llx len 0x%x pblk %llu st %d", > + TP_printk("dev %d:%d ino 0x%llx lblk 0x%llx len 0x%x startblock 0x%llx st %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->lblk, > @@ -3417,7 +3417,7 @@ DECLARE_EVENT_CLASS(xfs_fsmap_class, > __entry->offset = rmap->rm_offset; > __entry->flags = rmap->rm_flags; > ), > - TP_printk("dev %d:%d keydev %d:%d agno 0x%x bno %llu len %llu owner 0x%llx offset %llu flags 0x%x", > + TP_printk("dev %d:%d keydev %d:%d agno 0x%x startblock 0x%llx len %llu owner 0x%llx offset %llu flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > MAJOR(__entry->keydev), MINOR(__entry->keydev), > __entry->agno, > @@ -3457,7 +3457,7 @@ DECLARE_EVENT_CLASS(xfs_getfsmap_class, > __entry->offset = fsmap->fmr_offset; > __entry->flags = fsmap->fmr_flags; > ), > - TP_printk("dev %d:%d keydev %d:%d block %llu len %llu owner 0x%llx offset %llu flags 0x%llx", > + TP_printk("dev %d:%d keydev %d:%d daddr 0x%llx len %llu owner 0x%llx offset %llu flags 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > MAJOR(__entry->keydev), MINOR(__entry->keydev), > __entry->block, > -- Carlos
On Tue, Aug 17, 2021 at 04:42:56PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Some of our tracepoints describe fields as "offset". That name doesn't > describe any units, which makes the fields not very useful. Rename the > fields to capture units and ensure the format is hexadecimal. > > "fileoff" means file offset, in units of fs blocks > "pos" means file offset, in bytes > "forkoff" means inode fork offset, in bytes > > The one remaining "offset" value is for iclogs, since that's the byte > offset of the end of where we've written into the current iclog. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- ... > @@ -2145,7 +2145,7 @@ DECLARE_EVENT_CLASS(xfs_swap_extent_class, > __entry->fork_off = XFS_IFORK_BOFF(ip); > ), > TP_printk("dev %d:%d ino 0x%llx (%s), %s format, num_extents %d, " > - "broot size %d, fork offset %d", > + "broot size %d, forkoff %d", forkoff 0x%x? Other than that: Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> -- Carlos
On Thu, Aug 19, 2021 at 12:51:17PM +1000, Dave Chinner wrote: > On Tue, Aug 17, 2021 at 04:42:56PM -0700, Darrick J. Wong wrote: > > From: Darrick J. Wong <djwong@kernel.org> > > > > Some of our tracepoints describe fields as "offset". That name doesn't > > describe any units, which makes the fields not very useful. Rename the > > fields to capture units and ensure the format is hexadecimal. > > > > "fileoff" means file offset, in units of fs blocks > > "pos" means file offset, in bytes > > "forkoff" means inode fork offset, in bytes > > > > The one remaining "offset" value is for iclogs, since that's the byte > > offset of the end of where we've written into the current iclog. > > > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > > --- Just realized Dave already spotted it, sorry the redundancy :( > > fs/xfs/scrub/trace.h | 6 +++--- > > fs/xfs/xfs_trace.h | 29 ++++++++++++++--------------- > > 2 files changed, 17 insertions(+), 18 deletions(-) > > .... > > > @@ -2145,7 +2145,7 @@ DECLARE_EVENT_CLASS(xfs_swap_extent_class, > > __entry->fork_off = XFS_IFORK_BOFF(ip); > > ), > > TP_printk("dev %d:%d ino 0x%llx (%s), %s format, num_extents %d, " > > - "broot size %d, fork offset %d", > > + "broot size %d, forkoff %d", > > MAJOR(__entry->dev), MINOR(__entry->dev), > > __entry->ino, > > __print_symbolic(__entry->which, XFS_SWAPEXT_INODES), > > Format should be 0x%x? > > Otherwise looks fine. With that fixed, > > Reviewed-by: Dave Chinner <dchinner@redhat.com> > -- > Dave Chinner > david@fromorbit.com > -- Carlos
On Wed, Aug 18, 2021 at 08:44:52PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Some of our tracepoints have a field known as "len". That name doesn't > describe any units, which makes the fields not very useful. Rename the > fields to capture units and ensure the format is hexadecimal. > > "fsbcount" are in units of fs blocks > "bbcount" are in units of 512b blocks > "ireccount" are in units of inodes > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > v2: change the prefixes of the unit counts > --- Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > fs/xfs/scrub/trace.h | 8 +++--- > fs/xfs/xfs_trace.h | 66 +++++++++++++++++++++++++++----------------------- > 2 files changed, 39 insertions(+), 35 deletions(-) > > diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h > index 5a57fea014f9..eb29f56dc9f1 100644 > --- a/fs/xfs/scrub/trace.h > +++ b/fs/xfs/scrub/trace.h > @@ -572,7 +572,7 @@ TRACE_EVENT(xchk_iallocbt_check_cluster, > __entry->holemask = holemask; > __entry->cluster_ino = cluster_ino; > ), > - TP_printk("dev %d:%d agno 0x%x startino 0x%x daddr 0x%llx len %d chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", > + TP_printk("dev %d:%d agno 0x%x startino 0x%x daddr 0x%llx bbcount 0x%x chunkino 0x%x nr_inodes %u cluster_mask 0x%x holemask 0x%x cluster_ino 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startino, > @@ -662,7 +662,7 @@ DECLARE_EVENT_CLASS(xrep_extent_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -699,7 +699,7 @@ DECLARE_EVENT_CLASS(xrep_rmap_class, > __entry->offset = offset; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%x", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x owner 0x%llx fileoff 0x%llx flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -737,7 +737,7 @@ TRACE_EVENT(xrep_refcount_extent_fn, > __entry->blockcount = irec->rc_blockcount; > __entry->refcount = irec->rc_refcount; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startblock, > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 60837ff297bc..4169dc6cb5b9 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -1440,7 +1440,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, > __entry->blockcount = irec ? irec->br_blockcount : 0; > ), > TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx count %zd " > - "fork %s startoff 0x%llx startblock 0x%llx blockcount 0x%llx", > + "fork %s startoff 0x%llx startblock 0x%llx fsbcount 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->size, > @@ -1579,7 +1579,7 @@ TRACE_EVENT(xfs_bunmap, > __entry->caller_ip = caller_ip; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d ino 0x%llx size 0x%llx fileoff 0x%llx len 0x%llx" > + TP_printk("dev %d:%d ino 0x%llx size 0x%llx fileoff 0x%llx fsbcount 0x%llx" > "flags %s caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > @@ -1607,7 +1607,7 @@ DECLARE_EVENT_CLASS(xfs_extent_busy_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -1645,7 +1645,7 @@ TRACE_EVENT(xfs_extent_busy_trim, > __entry->tbno = tbno; > __entry->tlen = tlen; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u found_agbno 0x%x tlen %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x found_agbno 0x%x found_fsbcount 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -1741,7 +1741,7 @@ TRACE_EVENT(xfs_free_extent, > __entry->haveleft = haveleft; > __entry->haveright = haveright; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u resv %d %s", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x resv %d %s", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -1876,7 +1876,7 @@ TRACE_EVENT(xfs_alloc_cur_check, > __entry->diff = diff; > __entry->new = new; > ), > - TP_printk("dev %d:%d btree %s agbno 0x%x len 0x%x diff 0x%x new %d", > + TP_printk("dev %d:%d btree %s agbno 0x%x fsbcount 0x%x diff 0x%x new %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > __entry->bno, __entry->len, __entry->diff, __entry->new) > @@ -2277,7 +2277,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_buf_item_class, > __entry->size = buf_f->blf_size; > __entry->map_size = buf_f->blf_map_size; > ), > - TP_printk("dev %d:%d daddr 0x%llx, len %u, flags 0x%x, size %d, " > + TP_printk("dev %d:%d daddr 0x%llx, bbcount 0x%x, flags 0x%x, size %d, " > "map_size %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->blkno, > @@ -2328,7 +2328,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_ino_item_class, > __entry->boffset = in_f->ilf_boffset; > ), > TP_printk("dev %d:%d ino 0x%llx, size %u, fields 0x%x, asize %d, " > - "dsize %d, daddr 0x%llx, len %d, boffset %d", > + "dsize %d, daddr 0x%llx, bbcount 0x%x, boffset %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->size, > @@ -2369,10 +2369,14 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, > __entry->length = be32_to_cpu(in_f->icl_length); > __entry->gen = be32_to_cpu(in_f->icl_gen); > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u length %u " > - "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), > - __entry->agno, __entry->agbno, __entry->count, __entry->isize, > - __entry->length, __entry->gen) > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x ireccount 0x%x isize %u gen %u", > + MAJOR(__entry->dev), MINOR(__entry->dev), > + __entry->agno, > + __entry->agbno, > + __entry->length, > + __entry->count, > + __entry->isize, > + __entry->gen) > ) > #define DEFINE_LOG_RECOVER_ICREATE_ITEM(name) \ > DEFINE_EVENT(xfs_log_recover_icreate_item_class, name, \ > @@ -2398,7 +2402,7 @@ DECLARE_EVENT_CLASS(xfs_discard_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2557,7 +2561,7 @@ DECLARE_EVENT_CLASS(xfs_phys_extent_deferred_class, > __entry->agbno = agbno; > __entry->len = len; > ), > - TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x len %u", > + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x fsbcount 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->type, > __entry->agno, > @@ -2604,7 +2608,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, > __entry->l_state = state; > __entry->op = op; > ), > - TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s fileoff 0x%llx len %llu state %d", > + TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s fileoff 0x%llx fsbcount 0x%llx state %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->op, > __entry->agno, > @@ -2674,7 +2678,7 @@ DECLARE_EVENT_CLASS(xfs_rmap_class, > if (unwritten) > __entry->flags |= XFS_RMAP_UNWRITTEN; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%lx", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x owner 0x%llx fileoff 0x%llx flags 0x%lx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2754,7 +2758,7 @@ DECLARE_EVENT_CLASS(xfs_rmapbt_class, > __entry->offset = offset; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u owner 0x%llx fileoff 0x%llx flags 0x%x", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x owner 0x%llx fileoff 0x%llx flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->agbno, > @@ -2909,7 +2913,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_class, > __entry->blockcount = irec->rc_blockcount; > __entry->refcount = irec->rc_refcount; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startblock, > @@ -2944,7 +2948,7 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_at_class, > __entry->refcount = irec->rc_refcount; > __entry->agbno = agbno; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u @ agbno 0x%x", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u @ agbno 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->startblock, > @@ -2984,8 +2988,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_class, > __entry->i2_blockcount = i2->rc_blockcount; > __entry->i2_refcount = i2->rc_refcount; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " > - "agbno 0x%x len %u refcount %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u -- " > + "agbno 0x%x fsbcount 0x%x refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->i1_startblock, > @@ -3030,8 +3034,8 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_at_class, > __entry->i2_refcount = i2->rc_refcount; > __entry->agbno = agbno; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " > - "agbno 0x%x len %u refcount %u @ agbno 0x%x", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u -- " > + "agbno 0x%x fsbcount 0x%x refcount %u @ agbno 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->i1_startblock, > @@ -3082,9 +3086,9 @@ DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class, > __entry->i3_blockcount = i3->rc_blockcount; > __entry->i3_refcount = i3->rc_refcount; > ), > - TP_printk("dev %d:%d agno 0x%x agbno 0x%x len %u refcount %u -- " > - "agbno 0x%x len %u refcount %u -- " > - "agbno 0x%x len %u refcount %u", > + TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u -- " > + "agbno 0x%x fsbcount 0x%x refcount %u -- " > + "agbno 0x%x fsbcount 0x%x refcount %u", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, > __entry->i1_startblock, > @@ -3171,7 +3175,7 @@ TRACE_EVENT(xfs_refcount_finish_one_leftover, > __entry->new_agbno = new_agbno; > __entry->new_len = new_len; > ), > - TP_printk("dev %d:%d type %d agno 0x%x agbno 0x%x len %u new_agbno 0x%x new_len %u", > + TP_printk("dev %d:%d type %d agno 0x%x agbno 0x%x fsbcount 0x%x new_agbno 0x%x new_fsbcount 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->type, > __entry->agno, > @@ -3282,7 +3286,7 @@ DECLARE_EVENT_CLASS(xfs_inode_irec_class, > __entry->pblk = irec->br_startblock; > __entry->state = irec->br_state; > ), > - TP_printk("dev %d:%d ino 0x%llx fileoff 0x%llx len 0x%x startblock 0x%llx st %d", > + TP_printk("dev %d:%d ino 0x%llx fileoff 0x%llx fsbcount 0x%x startblock 0x%llx st %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->lblk, > @@ -3322,7 +3326,7 @@ TRACE_EVENT(xfs_reflink_remap_blocks, > __entry->dest_ino = dest->i_ino; > __entry->dest_lblk = doffset; > ), > - TP_printk("dev %d:%d len 0x%llx " > + TP_printk("dev %d:%d fsbcount 0x%llx " > "ino 0x%llx fileoff 0x%llx -> ino 0x%llx fileoff 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->len, > @@ -3422,7 +3426,7 @@ DECLARE_EVENT_CLASS(xfs_fsmap_class, > __entry->offset = rmap->rm_offset; > __entry->flags = rmap->rm_flags; > ), > - TP_printk("dev %d:%d keydev %d:%d agno 0x%x startblock 0x%llx len %llu owner 0x%llx fileoff 0x%llx flags 0x%x", > + TP_printk("dev %d:%d keydev %d:%d agno 0x%x startblock 0x%llx fsbcount 0x%llx owner 0x%llx fileoff 0x%llx flags 0x%x", > MAJOR(__entry->dev), MINOR(__entry->dev), > MAJOR(__entry->keydev), MINOR(__entry->keydev), > __entry->agno, > @@ -3462,7 +3466,7 @@ DECLARE_EVENT_CLASS(xfs_getfsmap_class, > __entry->offset = fsmap->fmr_offset; > __entry->flags = fsmap->fmr_flags; > ), > - TP_printk("dev %d:%d keydev %d:%d daddr 0x%llx len %llu owner 0x%llx fileoff_daddr 0x%llx flags 0x%llx", > + TP_printk("dev %d:%d keydev %d:%d daddr 0x%llx bbcount 0x%llx owner 0x%llx fileoff_daddr 0x%llx flags 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > MAJOR(__entry->keydev), MINOR(__entry->keydev), > __entry->block, > -- Carlos
On Wed, Aug 18, 2021 at 08:45:36PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Some of our tracepoints have a field known as "count". That name > doesn't describe any units, which makes the fields not very useful. > Rename the fields to capture units and ensure the format is hexadecimal > when we're referring to blocks, extents, or IO operations. > > "fsbcount" are in units of fs blocks > "bytecount" are in units of bytes > "ireccount" are in units of inode records > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > v2: rename the count units > --- Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > fs/xfs/xfs_trace.h | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 4169dc6cb5b9..cc479caffd55 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -346,7 +346,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class, > __entry->caller_ip = caller_ip; > ), > TP_printk("dev %d:%d ino 0x%llx state %s cur %p/%d " > - "fileoff 0x%llx startblock 0x%llx count %lld flag %d caller %pS", > + "fileoff 0x%llx startblock 0x%llx fsbcount 0x%llx flag %d caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), > @@ -1392,7 +1392,7 @@ DECLARE_EVENT_CLASS(xfs_file_class, > __entry->offset = iocb->ki_pos; > __entry->count = iov_iter_count(iter); > ), > - TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx count 0x%zx", > + TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx bytecount 0x%zx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->size, > @@ -1439,7 +1439,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, > __entry->startblock = irec ? irec->br_startblock : 0; > __entry->blockcount = irec ? irec->br_blockcount : 0; > ), > - TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx count %zd " > + TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx bytecount 0x%zx " > "fork %s startoff 0x%llx startblock 0x%llx fsbcount 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > @@ -1482,7 +1482,7 @@ DECLARE_EVENT_CLASS(xfs_simple_io_class, > __entry->count = count; > ), > TP_printk("dev %d:%d ino 0x%llx isize 0x%llx disize 0x%llx " > - "pos 0x%llx count %zd", > + "pos 0x%llx bytecount 0x%zx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->isize, > @@ -3227,7 +3227,7 @@ DECLARE_EVENT_CLASS(xfs_double_io_class, > __field(loff_t, src_isize) > __field(loff_t, src_disize) > __field(loff_t, src_offset) > - __field(size_t, len) > + __field(long long, len) > __field(xfs_ino_t, dest_ino) > __field(loff_t, dest_isize) > __field(loff_t, dest_disize) > @@ -3245,7 +3245,7 @@ DECLARE_EVENT_CLASS(xfs_double_io_class, > __entry->dest_disize = dest->i_disk_size; > __entry->dest_offset = doffset; > ), > - TP_printk("dev %d:%d count %zd " > + TP_printk("dev %d:%d bytecount 0x%llx " > "ino 0x%llx isize 0x%llx disize 0x%llx pos 0x%llx -> " > "ino 0x%llx isize 0x%llx disize 0x%llx pos 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > -- Carlos
On Tue, Aug 17, 2021 at 04:43:12PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Whenever we record i_disk_size (i.e. the ondisk file size), use the > "disize" tag and hexadecimal format consistently. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > fs/xfs/xfs_trace.h | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > > > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 07da753588d5..29bf5fbfa71b 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -1386,7 +1386,7 @@ DECLARE_EVENT_CLASS(xfs_file_class, > __entry->offset = iocb->ki_pos; > __entry->count = iov_iter_count(iter); > ), > - TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx bytecount 0x%zx", > + TP_printk("dev %d:%d ino 0x%llx disize 0x%llx pos 0x%llx bytecount 0x%zx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->size, > @@ -1433,7 +1433,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, > __entry->startblock = irec ? irec->br_startblock : 0; > __entry->blockcount = irec ? irec->br_blockcount : 0; > ), > - TP_printk("dev %d:%d ino 0x%llx size 0x%llx pos 0x%llx bytecount 0x%zx " > + TP_printk("dev %d:%d ino 0x%llx disize 0x%llx pos 0x%llx bytecount 0x%zx " > "fork %s startoff 0x%llx startblock 0x%llx blockcount 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > @@ -1512,7 +1512,7 @@ DECLARE_EVENT_CLASS(xfs_itrunc_class, > __entry->size = ip->i_disk_size; > __entry->new_size = new_size; > ), > - TP_printk("dev %d:%d ino 0x%llx size 0x%llx new_size 0x%llx", > + TP_printk("dev %d:%d ino 0x%llx disize 0x%llx new_size 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->size, > @@ -1543,7 +1543,7 @@ TRACE_EVENT(xfs_pagecache_inval, > __entry->start = start; > __entry->finish = finish; > ), > - TP_printk("dev %d:%d ino 0x%llx size 0x%llx start 0x%llx finish 0x%llx", > + TP_printk("dev %d:%d ino 0x%llx disize 0x%llx start 0x%llx finish 0x%llx", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __entry->size, > @@ -1573,7 +1573,7 @@ TRACE_EVENT(xfs_bunmap, > __entry->caller_ip = caller_ip; > __entry->flags = flags; > ), > - TP_printk("dev %d:%d ino 0x%llx size 0x%llx fileoff 0x%llx blockcount 0x%llx" > + TP_printk("dev %d:%d ino 0x%llx disize 0x%llx fileoff 0x%llx blockcount 0x%llx" > "flags %s caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > -- Carlos
On Tue, Aug 17, 2021 at 04:43:18PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Emit whichfork values as text strings in the ftrace output. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > fs/xfs/libxfs/xfs_types.h | 5 +++++ > fs/xfs/scrub/trace.h | 16 ++++++++-------- > fs/xfs/xfs_trace.h | 6 +++--- > 3 files changed, 16 insertions(+), 11 deletions(-) > > > diff --git a/fs/xfs/libxfs/xfs_types.h b/fs/xfs/libxfs/xfs_types.h > index 0870ef6f933d..b6da06b40989 100644 > --- a/fs/xfs/libxfs/xfs_types.h > +++ b/fs/xfs/libxfs/xfs_types.h > @@ -87,6 +87,11 @@ typedef void * xfs_failaddr_t; > #define XFS_ATTR_FORK 1 > #define XFS_COW_FORK 2 > > +#define XFS_WHICHFORK_STRINGS \ > + { XFS_DATA_FORK, "data" }, \ > + { XFS_ATTR_FORK, "attr" }, \ > + { XFS_COW_FORK, "cow" } > + > /* > * Min numbers of data/attr fork btree root pointers. > */ > diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h > index cb5a74028b63..36f86b1497f4 100644 > --- a/fs/xfs/scrub/trace.h > +++ b/fs/xfs/scrub/trace.h > @@ -176,10 +176,10 @@ TRACE_EVENT(xchk_file_op_error, > __entry->error = error; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d ino 0x%llx fork %d type %s fileoff 0x%llx error %d ret_ip %pS", > + TP_printk("dev %d:%d ino 0x%llx fork %s type %s fileoff 0x%llx error %d ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > - __entry->whichfork, > + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __entry->offset, > __entry->error, > @@ -273,10 +273,10 @@ DECLARE_EVENT_CLASS(xchk_fblock_error_class, > __entry->offset = offset; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d ino 0x%llx fork %d type %s fileoff 0x%llx ret_ip %pS", > + TP_printk("dev %d:%d ino 0x%llx fork %s type %s fileoff 0x%llx ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > - __entry->whichfork, > + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __entry->offset, > __entry->ret_ip) > @@ -381,10 +381,10 @@ TRACE_EVENT(xchk_ifork_btree_op_error, > __entry->error = error; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x error %d ret_ip %pS", > + TP_printk("dev %d:%d ino 0x%llx fork %s type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x error %d ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > - __entry->whichfork, > + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > __entry->level, > @@ -460,10 +460,10 @@ TRACE_EVENT(xchk_ifork_btree_error, > __entry->ptr = cur->bc_ptrs[level]; > __entry->ret_ip = ret_ip; > ), > - TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x ret_ip %pS", > + TP_printk("dev %d:%d ino 0x%llx fork %s type %s btree %s level %d ptr %d agno 0x%x agbno 0x%x ret_ip %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > - __entry->whichfork, > + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > __entry->level, > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 29bf5fbfa71b..474fdaffdccf 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -1440,7 +1440,7 @@ DECLARE_EVENT_CLASS(xfs_imap_class, > __entry->size, > __entry->offset, > __entry->count, > - __entry->whichfork == XFS_COW_FORK ? "cow" : "data", > + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), > __entry->startoff, > (int64_t)__entry->startblock, > __entry->blockcount) > @@ -2604,7 +2604,7 @@ DECLARE_EVENT_CLASS(xfs_map_extent_deferred_class, > __entry->agno, > __entry->agbno, > __entry->ino, > - __entry->whichfork == XFS_ATTR_FORK ? "attr" : "data", > + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), > __entry->l_loff, > __entry->l_len, > __entry->l_state) > @@ -3851,7 +3851,7 @@ TRACE_EVENT(xfs_btree_commit_ifakeroot, > __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), > __entry->agno, > __entry->agino, > - __entry->whichfork == XFS_ATTR_FORK ? "attr" : "data", > + __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), > __entry->levels, > __entry->blocks) > ) > -- Carlos
On Tue, Aug 17, 2021 at 04:43:23PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > For the remaining xfs_buf tracepoints, convert all the tags to > xfs_daddr_t units and retag them 'daddrcount' to match everything else. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- I agree with Dave on s/daddrcount/bbcount/, other than that: Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > fs/xfs/xfs_trace.h | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 474fdaffdccf..3b53fd681ce7 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -397,7 +397,7 @@ DECLARE_EVENT_CLASS(xfs_buf_class, > __entry->flags = bp->b_flags; > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d daddr 0x%llx nblks 0x%x hold %d pincount %d " > + TP_printk("dev %d:%d daddr 0x%llx daddrcount 0x%x hold %d pincount %d " > "lock %d flags %s caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > (unsigned long long)__entry->bno, > @@ -448,7 +448,7 @@ DECLARE_EVENT_CLASS(xfs_buf_flags_class, > TP_STRUCT__entry( > __field(dev_t, dev) > __field(xfs_daddr_t, bno) > - __field(size_t, buffer_length) > + __field(unsigned int, length) > __field(int, hold) > __field(int, pincount) > __field(unsigned, lockval) > @@ -458,18 +458,18 @@ DECLARE_EVENT_CLASS(xfs_buf_flags_class, > TP_fast_assign( > __entry->dev = bp->b_target->bt_dev; > __entry->bno = bp->b_bn; > - __entry->buffer_length = BBTOB(bp->b_length); > + __entry->length = bp->b_length; > __entry->flags = flags; > __entry->hold = atomic_read(&bp->b_hold); > __entry->pincount = atomic_read(&bp->b_pin_count); > __entry->lockval = bp->b_sema.count; > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " > + TP_printk("dev %d:%d daddr 0x%llx daddrcount 0x%x hold %d pincount %d " > "lock %d flags %s caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > (unsigned long long)__entry->bno, > - __entry->buffer_length, > + __entry->length, > __entry->hold, > __entry->pincount, > __entry->lockval, > @@ -491,7 +491,7 @@ TRACE_EVENT(xfs_buf_ioerror, > TP_STRUCT__entry( > __field(dev_t, dev) > __field(xfs_daddr_t, bno) > - __field(size_t, buffer_length) > + __field(unsigned int, length) > __field(unsigned, flags) > __field(int, hold) > __field(int, pincount) > @@ -502,7 +502,7 @@ TRACE_EVENT(xfs_buf_ioerror, > TP_fast_assign( > __entry->dev = bp->b_target->bt_dev; > __entry->bno = bp->b_bn; > - __entry->buffer_length = BBTOB(bp->b_length); > + __entry->length = bp->b_length; > __entry->hold = atomic_read(&bp->b_hold); > __entry->pincount = atomic_read(&bp->b_pin_count); > __entry->lockval = bp->b_sema.count; > @@ -510,11 +510,11 @@ TRACE_EVENT(xfs_buf_ioerror, > __entry->flags = bp->b_flags; > __entry->caller_ip = caller_ip; > ), > - TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " > + TP_printk("dev %d:%d daddr 0x%llx daddrcount 0x%x hold %d pincount %d " > "lock %d error %d flags %s caller %pS", > MAJOR(__entry->dev), MINOR(__entry->dev), > (unsigned long long)__entry->bno, > - __entry->buffer_length, > + __entry->length, > __entry->hold, > __entry->pincount, > __entry->lockval, > @@ -529,7 +529,7 @@ DECLARE_EVENT_CLASS(xfs_buf_item_class, > TP_STRUCT__entry( > __field(dev_t, dev) > __field(xfs_daddr_t, buf_bno) > - __field(size_t, buf_len) > + __field(unsigned int, buf_len) > __field(int, buf_hold) > __field(int, buf_pincount) > __field(int, buf_lockval) > @@ -545,14 +545,14 @@ DECLARE_EVENT_CLASS(xfs_buf_item_class, > __entry->bli_recur = bip->bli_recur; > __entry->bli_refcount = atomic_read(&bip->bli_refcount); > __entry->buf_bno = bip->bli_buf->b_bn; > - __entry->buf_len = BBTOB(bip->bli_buf->b_length); > + __entry->buf_len = bip->bli_buf->b_length; > __entry->buf_flags = bip->bli_buf->b_flags; > __entry->buf_hold = atomic_read(&bip->bli_buf->b_hold); > __entry->buf_pincount = atomic_read(&bip->bli_buf->b_pin_count); > __entry->buf_lockval = bip->bli_buf->b_sema.count; > __entry->li_flags = bip->bli_item.li_flags; > ), > - TP_printk("dev %d:%d daddr 0x%llx len 0x%zx hold %d pincount %d " > + TP_printk("dev %d:%d daddr 0x%llx daddrcount 0x%x hold %d pincount %d " > "lock %d flags %s recur %d refcount %d bliflags %s " > "liflags %s", > MAJOR(__entry->dev), MINOR(__entry->dev), > -- Carlos
On Tue, Aug 17, 2021 at 04:43:29PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Always print inode generation in hexadecimal and preceded with the unit > "gen". > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > fs/xfs/scrub/trace.h | 2 +- > fs/xfs/xfs_trace.h | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > > diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h > index 36f86b1497f4..2777d882819d 100644 > --- a/fs/xfs/scrub/trace.h > +++ b/fs/xfs/scrub/trace.h > @@ -103,7 +103,7 @@ DECLARE_EVENT_CLASS(xchk_class, > __entry->flags = sm->sm_flags; > __entry->error = error; > ), > - TP_printk("dev %d:%d ino 0x%llx type %s agno 0x%x inum 0x%llx gen %u flags 0x%x error %d", > + TP_printk("dev %d:%d ino 0x%llx type %s agno 0x%x inum 0x%llx gen 0x%x flags 0x%x error %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 3b53fd681ce7..984a23775340 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -2364,7 +2364,7 @@ DECLARE_EVENT_CLASS(xfs_log_recover_icreate_item_class, > __entry->gen = be32_to_cpu(in_f->icl_gen); > ), > TP_printk("dev %d:%d agno 0x%x agbno 0x%x count %u isize %u blockcount 0x%x " > - "gen %u", MAJOR(__entry->dev), MINOR(__entry->dev), > + "gen 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->agno, __entry->agbno, __entry->count, __entry->isize, > __entry->length, __entry->gen) > ) > -- Carlos
On Tue, Aug 17, 2021 at 04:43:34PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > When using pretty-printed scrub tracepoints, decode the meaning of the > scrub flags as strings for easier reading. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > fs/xfs/scrub/trace.h | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > > > diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h > index 2777d882819d..e9b81b7645c1 100644 > --- a/fs/xfs/scrub/trace.h > +++ b/fs/xfs/scrub/trace.h > @@ -79,6 +79,16 @@ TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_FSCOUNTERS); > { XFS_SCRUB_TYPE_PQUOTA, "prjquota" }, \ > { XFS_SCRUB_TYPE_FSCOUNTERS, "fscounters" } > > +#define XFS_SCRUB_FLAG_STRINGS \ > + { XFS_SCRUB_IFLAG_REPAIR, "repair" }, \ > + { XFS_SCRUB_OFLAG_CORRUPT, "corrupt" }, \ > + { XFS_SCRUB_OFLAG_PREEN, "preen" }, \ > + { XFS_SCRUB_OFLAG_XFAIL, "xfail" }, \ > + { XFS_SCRUB_OFLAG_XCORRUPT, "xcorrupt" }, \ > + { XFS_SCRUB_OFLAG_INCOMPLETE, "incomplete" }, \ > + { XFS_SCRUB_OFLAG_WARNING, "warning" }, \ > + { XFS_SCRUB_OFLAG_NO_REPAIR_NEEDED, "norepair" } > + > DECLARE_EVENT_CLASS(xchk_class, > TP_PROTO(struct xfs_inode *ip, struct xfs_scrub_metadata *sm, > int error), > @@ -103,14 +113,14 @@ DECLARE_EVENT_CLASS(xchk_class, > __entry->flags = sm->sm_flags; > __entry->error = error; > ), > - TP_printk("dev %d:%d ino 0x%llx type %s agno 0x%x inum 0x%llx gen 0x%x flags 0x%x error %d", > + TP_printk("dev %d:%d ino 0x%llx type %s agno 0x%x inum 0x%llx gen 0x%x flags (%s) error %d", > MAJOR(__entry->dev), MINOR(__entry->dev), > __entry->ino, > __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), > __entry->agno, > __entry->inum, > __entry->gen, > - __entry->flags, > + __print_flags(__entry->flags, "|", XFS_SCRUB_FLAG_STRINGS), > __entry->error) > ) > #define DEFINE_SCRUB_EVENT(name) \ > -- Carlos
On Wed, Aug 18, 2021 at 08:46:47PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@kernel.org> > > Because there are a lot of tracepoints that express numeric data with > an associated unit and tag, document what they are to help everyone else > keep these thigns straight. > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > --- > v2: update unit names, say that we want hex, and put related tag names together > --- ... > + * daddr: physical block number in 512b blocks > + * daddrcount: number of blocks in a physical extent, in 512b blocks Shouldn't this be bbcount? Other than that, it looks good: Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> -- Carlos
On Thu, Aug 19, 2021 at 03:27:17PM +0200, Carlos Maiolino wrote: > On Wed, Aug 18, 2021 at 08:46:47PM -0700, Darrick J. Wong wrote: > > From: Darrick J. Wong <djwong@kernel.org> > > > > Because there are a lot of tracepoints that express numeric data with > > an associated unit and tag, document what they are to help everyone else > > keep these thigns straight. > > > > Signed-off-by: Darrick J. Wong <djwong@kernel.org> > > --- > > v2: update unit names, say that we want hex, and put related tag names together > > --- > ... > > + * daddr: physical block number in 512b blocks > > + * daddrcount: number of blocks in a physical extent, in 512b blocks > > Shouldn't this be bbcount? Yep, and the 'blockcount' above should be 'fsbcount' too. Thanks for the reviews, everyone! --D > > Other than that, it looks good: > > Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> > > -- > Carlos >
From: Darrick J. Wong <djwong@kernel.org> Because there are a lot of tracepoints that express numeric data with an associated unit and tag, document what they are to help everyone else keep these thigns straight. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com> --- v2: update unit names, say that we want hex, and put related tag names together v3: more corrections of unit names --- fs/xfs/scrub/trace.h | 4 ++++ fs/xfs/xfs_trace.h | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index dfb10966af24..a7bbb84f91a7 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -2,6 +2,10 @@ /* * Copyright (C) 2017 Oracle. All Rights Reserved. * Author: Darrick J. Wong <darrick.wong@oracle.com> + * + * NOTE: none of these tracepoints shall be considered a stable kernel ABI + * as they can change at any time. See xfs_trace.h for documentation of + * specific units found in tracepoint output. */ #undef TRACE_SYSTEM #define TRACE_SYSTEM xfs_scrub diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index 676b66173bb1..6d025a231d3e 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -2,6 +2,41 @@ /* * Copyright (c) 2009, Christoph Hellwig * All Rights Reserved. + * + * NOTE: none of these tracepoints shall be considered a stable kernel ABI + * as they can change at any time. + * + * Current conventions for printing numbers measuring specific units: + * + * agno: allocation group number + * + * agino: per-AG inode number + * ino: filesystem inode number + * + * agbno: per-AG block number in fs blocks + * startblock: physical block number for file mappings. This is either a + * segmented fsblock for data device mappings, or a rfsblock + * for realtime device mappings + * fsbcount: number of blocks in an extent, in fs blocks + * + * daddr: physical block number in 512b blocks + * bbcount: number of blocks in a physical extent, in 512b blocks + * + * owner: reverse-mapping owner, usually inodes + * + * fileoff: file offset, in fs blocks + * pos: file offset, in bytes + * bytecount: number of bytes + * + * disize: ondisk file size, in bytes + * isize: incore file size, in bytes + * + * forkoff: inode fork offset, in bytes + * + * ireccount: number of inode records + * + * Numbers describing space allocations (blocks, extents, inodes) should be + * formatted in hexadecimal. */ #undef TRACE_SYSTEM #define TRACE_SYSTEM xfs