linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHSET 00/15] xfs: clean up ftrace field tags and formats
@ 2021-08-17 23:42 Darrick J. Wong
  2021-08-17 23:42 ` [PATCH 01/15] xfs: fix incorrect unit conversion in scrub tracepoint Darrick J. Wong
                   ` (15 more replies)
  0 siblings, 16 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:42 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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(-)


^ permalink raw reply	[flat|nested] 59+ messages in thread

* [PATCH 01/15] xfs: fix incorrect unit conversion in scrub tracepoint
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
@ 2021-08-17 23:42 ` Darrick J. Wong
  2021-08-19  2:29   ` Dave Chinner
  2021-08-19  7:57   ` Carlos Maiolino
  2021-08-17 23:42 ` [PATCH 02/15] xfs: standardize inode number formatting in ftrace output Darrick J. Wong
                   ` (14 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:42 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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)
 )
 


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 02/15] xfs: standardize inode number formatting in ftrace output
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
  2021-08-17 23:42 ` [PATCH 01/15] xfs: fix incorrect unit conversion in scrub tracepoint Darrick J. Wong
@ 2021-08-17 23:42 ` Darrick J. Wong
  2021-08-19  2:34   ` Dave Chinner
  2021-08-19  8:27   ` Carlos Maiolino
  2021-08-17 23:42 ` [PATCH 03/15] xfs: standardize AG " Darrick J. Wong
                   ` (13 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:42 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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,


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 03/15] xfs: standardize AG number formatting in ftrace output
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
  2021-08-17 23:42 ` [PATCH 01/15] xfs: fix incorrect unit conversion in scrub tracepoint Darrick J. Wong
  2021-08-17 23:42 ` [PATCH 02/15] xfs: standardize inode number formatting in ftrace output Darrick J. Wong
@ 2021-08-17 23:42 ` Darrick J. Wong
  2021-08-19  2:35   ` Dave Chinner
  2021-08-19  8:45   ` Carlos Maiolino
  2021-08-17 23:42 ` [PATCH 04/15] xfs: standardize AG block " Darrick J. Wong
                   ` (12 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:42 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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,


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 04/15] xfs: standardize AG block number formatting in ftrace output
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (2 preceding siblings ...)
  2021-08-17 23:42 ` [PATCH 03/15] xfs: standardize AG " Darrick J. Wong
@ 2021-08-17 23:42 ` Darrick J. Wong
  2021-08-19  2:37   ` Dave Chinner
  2021-08-19  9:06   ` Carlos Maiolino
  2021-08-17 23:42 ` [PATCH 05/15] xfs: standardize rmap owner " Darrick J. Wong
                   ` (11 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:42 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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,


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 05/15] xfs: standardize rmap owner number formatting in ftrace output
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (3 preceding siblings ...)
  2021-08-17 23:42 ` [PATCH 04/15] xfs: standardize AG block " Darrick J. Wong
@ 2021-08-17 23:42 ` Darrick J. Wong
  2021-08-19  2:38   ` Dave Chinner
  2021-08-19  9:57   ` Carlos Maiolino
  2021-08-17 23:42 ` [PATCH 06/15] xfs: standardize daddr " Darrick J. Wong
                   ` (10 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:42 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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,


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 06/15] xfs: standardize daddr formatting in ftrace output
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (4 preceding siblings ...)
  2021-08-17 23:42 ` [PATCH 05/15] xfs: standardize rmap owner " Darrick J. Wong
@ 2021-08-17 23:42 ` Darrick J. Wong
  2021-08-19  2:42   ` Dave Chinner
  2021-08-19 11:02   ` Carlos Maiolino
  2021-08-17 23:42 ` [PATCH 07/15] xfs: disambiguate units for ftrace fields tagged "blkno", "block", or "bno" Darrick J. Wong
                   ` (9 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:42 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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),


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 07/15] xfs: disambiguate units for ftrace fields tagged "blkno", "block", or "bno"
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (5 preceding siblings ...)
  2021-08-17 23:42 ` [PATCH 06/15] xfs: standardize daddr " Darrick J. Wong
@ 2021-08-17 23:42 ` Darrick J. Wong
  2021-08-19  2:47   ` Dave Chinner
  2021-08-19 11:12   ` Carlos Maiolino
  2021-08-17 23:42 ` [PATCH 08/15] xfs: disambiguate units for ftrace fields tagged "offset" Darrick J. Wong
                   ` (8 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:42 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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,


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 08/15] xfs: disambiguate units for ftrace fields tagged "offset"
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (6 preceding siblings ...)
  2021-08-17 23:42 ` [PATCH 07/15] xfs: disambiguate units for ftrace fields tagged "blkno", "block", or "bno" Darrick J. Wong
@ 2021-08-17 23:42 ` Darrick J. Wong
  2021-08-19  2:51   ` Dave Chinner
  2021-08-19 11:42   ` Carlos Maiolino
  2021-08-17 23:43 ` [PATCH 09/15] xfs: disambiguate units for ftrace fields tagged "len" Darrick J. Wong
                   ` (7 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:42 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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,


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 09/15] xfs: disambiguate units for ftrace fields tagged "len"
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (7 preceding siblings ...)
  2021-08-17 23:42 ` [PATCH 08/15] xfs: disambiguate units for ftrace fields tagged "offset" Darrick J. Wong
@ 2021-08-17 23:43 ` Darrick J. Wong
  2021-08-19  3:01   ` Dave Chinner
  2021-08-19  3:44   ` [PATCH v2 " Darrick J. Wong
  2021-08-17 23:43 ` [PATCH 10/15] xfs: disambiguate units for ftrace fields tagged "count" Darrick J. Wong
                   ` (6 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:43 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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,


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 10/15] xfs: disambiguate units for ftrace fields tagged "count"
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (8 preceding siblings ...)
  2021-08-17 23:43 ` [PATCH 09/15] xfs: disambiguate units for ftrace fields tagged "len" Darrick J. Wong
@ 2021-08-17 23:43 ` Darrick J. Wong
  2021-08-19  3:11   ` Dave Chinner
  2021-08-19  3:45   ` [PATCH v2 " Darrick J. Wong
  2021-08-17 23:43 ` [PATCH 11/15] xfs: rename i_disk_size fields in ftrace output Darrick J. Wong
                   ` (5 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:43 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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),


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 11/15] xfs: rename i_disk_size fields in ftrace output
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (9 preceding siblings ...)
  2021-08-17 23:43 ` [PATCH 10/15] xfs: disambiguate units for ftrace fields tagged "count" Darrick J. Wong
@ 2021-08-17 23:43 ` Darrick J. Wong
  2021-08-19  3:14   ` Dave Chinner
  2021-08-19 12:32   ` Carlos Maiolino
  2021-08-17 23:43 ` [PATCH 12/15] xfs: resolve fork names in trace output Darrick J. Wong
                   ` (4 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:43 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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,


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 12/15] xfs: resolve fork names in trace output
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (10 preceding siblings ...)
  2021-08-17 23:43 ` [PATCH 11/15] xfs: rename i_disk_size fields in ftrace output Darrick J. Wong
@ 2021-08-17 23:43 ` Darrick J. Wong
  2021-08-19  3:16   ` Dave Chinner
  2021-08-19 12:43   ` Carlos Maiolino
  2021-08-17 23:43 ` [PATCH 13/15] xfs: standardize remaining xfs_buf length tracepoints Darrick J. Wong
                   ` (3 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:43 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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)
 )


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 13/15] xfs: standardize remaining xfs_buf length tracepoints
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (11 preceding siblings ...)
  2021-08-17 23:43 ` [PATCH 12/15] xfs: resolve fork names in trace output Darrick J. Wong
@ 2021-08-17 23:43 ` Darrick J. Wong
  2021-08-19  3:19   ` Dave Chinner
  2021-08-19 12:48   ` Carlos Maiolino
  2021-08-17 23:43 ` [PATCH 14/15] xfs: standardize inode generation formatting in ftrace output Darrick J. Wong
                   ` (2 subsequent siblings)
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:43 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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),


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 14/15] xfs: standardize inode generation formatting in ftrace output
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (12 preceding siblings ...)
  2021-08-17 23:43 ` [PATCH 13/15] xfs: standardize remaining xfs_buf length tracepoints Darrick J. Wong
@ 2021-08-17 23:43 ` Darrick J. Wong
  2021-08-19  3:19   ` Dave Chinner
  2021-08-19 12:57   ` Carlos Maiolino
  2021-08-17 23:43 ` [PATCH 15/15] xfs: decode scrub flags " Darrick J. Wong
  2021-08-19  3:07 ` [PATCH 16/15] xfs: start documenting common units and tags used in tracepoints Darrick J. Wong
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:43 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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)
 )


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH 15/15] xfs: decode scrub flags in ftrace output
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (13 preceding siblings ...)
  2021-08-17 23:43 ` [PATCH 14/15] xfs: standardize inode generation formatting in ftrace output Darrick J. Wong
@ 2021-08-17 23:43 ` Darrick J. Wong
  2021-08-19  3:20   ` Dave Chinner
  2021-08-19 13:04   ` Carlos Maiolino
  2021-08-19  3:07 ` [PATCH 16/15] xfs: start documenting common units and tags used in tracepoints Darrick J. Wong
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-17 23:43 UTC (permalink / raw)
  To: djwong, david, sandeen; +Cc: linux-xfs

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) \


^ permalink raw reply related	[flat|nested] 59+ messages in thread

* Re: [PATCH 01/15] xfs: fix incorrect unit conversion in scrub tracepoint
  2021-08-17 23:42 ` [PATCH 01/15] xfs: fix incorrect unit conversion in scrub tracepoint Darrick J. Wong
@ 2021-08-19  2:29   ` Dave Chinner
  2021-08-19  7:57   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  2:29 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 02/15] xfs: standardize inode number formatting in ftrace output
  2021-08-17 23:42 ` [PATCH 02/15] xfs: standardize inode number formatting in ftrace output Darrick J. Wong
@ 2021-08-19  2:34   ` Dave Chinner
  2021-08-19  8:27   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  2:34 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 03/15] xfs: standardize AG number formatting in ftrace output
  2021-08-17 23:42 ` [PATCH 03/15] xfs: standardize AG " Darrick J. Wong
@ 2021-08-19  2:35   ` Dave Chinner
  2021-08-19  8:45   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  2:35 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 04/15] xfs: standardize AG block number formatting in ftrace output
  2021-08-17 23:42 ` [PATCH 04/15] xfs: standardize AG block " Darrick J. Wong
@ 2021-08-19  2:37   ` Dave Chinner
  2021-08-19  9:06   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  2:37 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 05/15] xfs: standardize rmap owner number formatting in ftrace output
  2021-08-17 23:42 ` [PATCH 05/15] xfs: standardize rmap owner " Darrick J. Wong
@ 2021-08-19  2:38   ` Dave Chinner
  2021-08-19  9:57   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  2:38 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 06/15] xfs: standardize daddr formatting in ftrace output
  2021-08-17 23:42 ` [PATCH 06/15] xfs: standardize daddr " Darrick J. Wong
@ 2021-08-19  2:42   ` Dave Chinner
  2021-08-19 11:02   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  2:42 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 07/15] xfs: disambiguate units for ftrace fields tagged "blkno", "block", or "bno"
  2021-08-17 23:42 ` [PATCH 07/15] xfs: disambiguate units for ftrace fields tagged "blkno", "block", or "bno" Darrick J. Wong
@ 2021-08-19  2:47   ` Dave Chinner
  2021-08-19 11:12   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  2:47 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 08/15] xfs: disambiguate units for ftrace fields tagged "offset"
  2021-08-17 23:42 ` [PATCH 08/15] xfs: disambiguate units for ftrace fields tagged "offset" Darrick J. Wong
@ 2021-08-19  2:51   ` Dave Chinner
  2021-08-19 11:45     ` Carlos Maiolino
  2021-08-19 11:42   ` Carlos Maiolino
  1 sibling, 1 reply; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  2:51 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 09/15] xfs: disambiguate units for ftrace fields tagged "len"
  2021-08-17 23:43 ` [PATCH 09/15] xfs: disambiguate units for ftrace fields tagged "len" Darrick J. Wong
@ 2021-08-19  3:01   ` Dave Chinner
  2021-08-19  3:06     ` Darrick J. Wong
  2021-08-19  3:44   ` [PATCH v2 " Darrick J. Wong
  1 sibling, 1 reply; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  3:01 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 09/15] xfs: disambiguate units for ftrace fields tagged "len"
  2021-08-19  3:01   ` Dave Chinner
@ 2021-08-19  3:06     ` Darrick J. Wong
  0 siblings, 0 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-19  3:06 UTC (permalink / raw)
  To: Dave Chinner; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [PATCH 16/15] xfs: start documenting common units and tags used in tracepoints
  2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
                   ` (14 preceding siblings ...)
  2021-08-17 23:43 ` [PATCH 15/15] xfs: decode scrub flags " Darrick J. Wong
@ 2021-08-19  3:07 ` Darrick J. Wong
  2021-08-19  3:24   ` Dave Chinner
  2021-08-19  3:46   ` [PATCH v2 " Darrick J. Wong
  15 siblings, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-19  3:07 UTC (permalink / raw)
  To: david, sandeen; +Cc: linux-xfs

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

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* Re: [PATCH 10/15] xfs: disambiguate units for ftrace fields tagged "count"
  2021-08-17 23:43 ` [PATCH 10/15] xfs: disambiguate units for ftrace fields tagged "count" Darrick J. Wong
@ 2021-08-19  3:11   ` Dave Chinner
  2021-08-19  3:19     ` Darrick J. Wong
  2021-08-19  3:45   ` [PATCH v2 " Darrick J. Wong
  1 sibling, 1 reply; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  3:11 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 11/15] xfs: rename i_disk_size fields in ftrace output
  2021-08-17 23:43 ` [PATCH 11/15] xfs: rename i_disk_size fields in ftrace output Darrick J. Wong
@ 2021-08-19  3:14   ` Dave Chinner
  2021-08-19 12:32   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  3:14 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 12/15] xfs: resolve fork names in trace output
  2021-08-17 23:43 ` [PATCH 12/15] xfs: resolve fork names in trace output Darrick J. Wong
@ 2021-08-19  3:16   ` Dave Chinner
  2021-08-19 12:43   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  3:16 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 13/15] xfs: standardize remaining xfs_buf length tracepoints
  2021-08-17 23:43 ` [PATCH 13/15] xfs: standardize remaining xfs_buf length tracepoints Darrick J. Wong
@ 2021-08-19  3:19   ` Dave Chinner
  2021-08-19 12:48   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  3:19 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 10/15] xfs: disambiguate units for ftrace fields tagged "count"
  2021-08-19  3:11   ` Dave Chinner
@ 2021-08-19  3:19     ` Darrick J. Wong
  0 siblings, 0 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-19  3:19 UTC (permalink / raw)
  To: Dave Chinner; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 14/15] xfs: standardize inode generation formatting in ftrace output
  2021-08-17 23:43 ` [PATCH 14/15] xfs: standardize inode generation formatting in ftrace output Darrick J. Wong
@ 2021-08-19  3:19   ` Dave Chinner
  2021-08-19 12:57   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  3:19 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 15/15] xfs: decode scrub flags in ftrace output
  2021-08-17 23:43 ` [PATCH 15/15] xfs: decode scrub flags " Darrick J. Wong
@ 2021-08-19  3:20   ` Dave Chinner
  2021-08-19 13:04   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  3:20 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 16/15] xfs: start documenting common units and tags used in tracepoints
  2021-08-19  3:07 ` [PATCH 16/15] xfs: start documenting common units and tags used in tracepoints Darrick J. Wong
@ 2021-08-19  3:24   ` Dave Chinner
  2021-08-19  3:46   ` [PATCH v2 " Darrick J. Wong
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  3:24 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [PATCH v2 09/15] xfs: disambiguate units for ftrace fields tagged "len"
  2021-08-17 23:43 ` [PATCH 09/15] xfs: disambiguate units for ftrace fields tagged "len" Darrick J. Wong
  2021-08-19  3:01   ` Dave Chinner
@ 2021-08-19  3:44   ` Darrick J. Wong
  2021-08-19 12:08     ` Carlos Maiolino
  1 sibling, 1 reply; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-19  3:44 UTC (permalink / raw)
  To: david, sandeen; +Cc: linux-xfs

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,

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH v2 10/15] xfs: disambiguate units for ftrace fields tagged "count"
  2021-08-17 23:43 ` [PATCH 10/15] xfs: disambiguate units for ftrace fields tagged "count" Darrick J. Wong
  2021-08-19  3:11   ` Dave Chinner
@ 2021-08-19  3:45   ` Darrick J. Wong
  2021-08-19  5:38     ` Dave Chinner
  2021-08-19 12:26     ` Carlos Maiolino
  1 sibling, 2 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-19  3:45 UTC (permalink / raw)
  To: david, sandeen; +Cc: linux-xfs

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),

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* [PATCH v2 16/15] xfs: start documenting common units and tags used in tracepoints
  2021-08-19  3:07 ` [PATCH 16/15] xfs: start documenting common units and tags used in tracepoints Darrick J. Wong
  2021-08-19  3:24   ` Dave Chinner
@ 2021-08-19  3:46   ` Darrick J. Wong
  2021-08-19  5:39     ` Dave Chinner
                       ` (2 more replies)
  1 sibling, 3 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-19  3:46 UTC (permalink / raw)
  To: david, sandeen; +Cc: linux-xfs

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

^ permalink raw reply related	[flat|nested] 59+ messages in thread

* Re: [PATCH v2 10/15] xfs: disambiguate units for ftrace fields tagged "count"
  2021-08-19  3:45   ` [PATCH v2 " Darrick J. Wong
@ 2021-08-19  5:38     ` Dave Chinner
  2021-08-19 12:26     ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  5:38 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH v2 16/15] xfs: start documenting common units and tags used in tracepoints
  2021-08-19  3:46   ` [PATCH v2 " Darrick J. Wong
@ 2021-08-19  5:39     ` Dave Chinner
  2021-08-19 13:27     ` Carlos Maiolino
  2021-08-19 17:10     ` [PATCH v3 " Darrick J. Wong
  2 siblings, 0 replies; 59+ messages in thread
From: Dave Chinner @ 2021-08-19  5:39 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: sandeen, linux-xfs

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

^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 01/15] xfs: fix incorrect unit conversion in scrub tracepoint
  2021-08-17 23:42 ` [PATCH 01/15] xfs: fix incorrect unit conversion in scrub tracepoint Darrick J. Wong
  2021-08-19  2:29   ` Dave Chinner
@ 2021-08-19  7:57   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19  7:57 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 02/15] xfs: standardize inode number formatting in ftrace output
  2021-08-17 23:42 ` [PATCH 02/15] xfs: standardize inode number formatting in ftrace output Darrick J. Wong
  2021-08-19  2:34   ` Dave Chinner
@ 2021-08-19  8:27   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19  8:27 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 03/15] xfs: standardize AG number formatting in ftrace output
  2021-08-17 23:42 ` [PATCH 03/15] xfs: standardize AG " Darrick J. Wong
  2021-08-19  2:35   ` Dave Chinner
@ 2021-08-19  8:45   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19  8:45 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 04/15] xfs: standardize AG block number formatting in ftrace output
  2021-08-17 23:42 ` [PATCH 04/15] xfs: standardize AG block " Darrick J. Wong
  2021-08-19  2:37   ` Dave Chinner
@ 2021-08-19  9:06   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19  9:06 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 05/15] xfs: standardize rmap owner number formatting in ftrace output
  2021-08-17 23:42 ` [PATCH 05/15] xfs: standardize rmap owner " Darrick J. Wong
  2021-08-19  2:38   ` Dave Chinner
@ 2021-08-19  9:57   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19  9:57 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 06/15] xfs: standardize daddr formatting in ftrace output
  2021-08-17 23:42 ` [PATCH 06/15] xfs: standardize daddr " Darrick J. Wong
  2021-08-19  2:42   ` Dave Chinner
@ 2021-08-19 11:02   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 11:02 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 07/15] xfs: disambiguate units for ftrace fields tagged "blkno", "block", or "bno"
  2021-08-17 23:42 ` [PATCH 07/15] xfs: disambiguate units for ftrace fields tagged "blkno", "block", or "bno" Darrick J. Wong
  2021-08-19  2:47   ` Dave Chinner
@ 2021-08-19 11:12   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 11:12 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 08/15] xfs: disambiguate units for ftrace fields tagged "offset"
  2021-08-17 23:42 ` [PATCH 08/15] xfs: disambiguate units for ftrace fields tagged "offset" Darrick J. Wong
  2021-08-19  2:51   ` Dave Chinner
@ 2021-08-19 11:42   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 11:42 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 08/15] xfs: disambiguate units for ftrace fields tagged "offset"
  2021-08-19  2:51   ` Dave Chinner
@ 2021-08-19 11:45     ` Carlos Maiolino
  0 siblings, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 11:45 UTC (permalink / raw)
  To: Dave Chinner; +Cc: Darrick J. Wong, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH v2 09/15] xfs: disambiguate units for ftrace fields tagged "len"
  2021-08-19  3:44   ` [PATCH v2 " Darrick J. Wong
@ 2021-08-19 12:08     ` Carlos Maiolino
  0 siblings, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 12:08 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH v2 10/15] xfs: disambiguate units for ftrace fields tagged "count"
  2021-08-19  3:45   ` [PATCH v2 " Darrick J. Wong
  2021-08-19  5:38     ` Dave Chinner
@ 2021-08-19 12:26     ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 12:26 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-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
> ---

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 11/15] xfs: rename i_disk_size fields in ftrace output
  2021-08-17 23:43 ` [PATCH 11/15] xfs: rename i_disk_size fields in ftrace output Darrick J. Wong
  2021-08-19  3:14   ` Dave Chinner
@ 2021-08-19 12:32   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 12:32 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 12/15] xfs: resolve fork names in trace output
  2021-08-17 23:43 ` [PATCH 12/15] xfs: resolve fork names in trace output Darrick J. Wong
  2021-08-19  3:16   ` Dave Chinner
@ 2021-08-19 12:43   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 12:43 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 13/15] xfs: standardize remaining xfs_buf length tracepoints
  2021-08-17 23:43 ` [PATCH 13/15] xfs: standardize remaining xfs_buf length tracepoints Darrick J. Wong
  2021-08-19  3:19   ` Dave Chinner
@ 2021-08-19 12:48   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 12:48 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 14/15] xfs: standardize inode generation formatting in ftrace output
  2021-08-17 23:43 ` [PATCH 14/15] xfs: standardize inode generation formatting in ftrace output Darrick J. Wong
  2021-08-19  3:19   ` Dave Chinner
@ 2021-08-19 12:57   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 12:57 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH 15/15] xfs: decode scrub flags in ftrace output
  2021-08-17 23:43 ` [PATCH 15/15] xfs: decode scrub flags " Darrick J. Wong
  2021-08-19  3:20   ` Dave Chinner
@ 2021-08-19 13:04   ` Carlos Maiolino
  1 sibling, 0 replies; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 13:04 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH v2 16/15] xfs: start documenting common units and tags used in tracepoints
  2021-08-19  3:46   ` [PATCH v2 " Darrick J. Wong
  2021-08-19  5:39     ` Dave Chinner
@ 2021-08-19 13:27     ` Carlos Maiolino
  2021-08-19 17:06       ` Darrick J. Wong
  2021-08-19 17:10     ` [PATCH v3 " Darrick J. Wong
  2 siblings, 1 reply; 59+ messages in thread
From: Carlos Maiolino @ 2021-08-19 13:27 UTC (permalink / raw)
  To: Darrick J. Wong; +Cc: david, sandeen, linux-xfs

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


^ permalink raw reply	[flat|nested] 59+ messages in thread

* Re: [PATCH v2 16/15] xfs: start documenting common units and tags used in tracepoints
  2021-08-19 13:27     ` Carlos Maiolino
@ 2021-08-19 17:06       ` Darrick J. Wong
  0 siblings, 0 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-19 17:06 UTC (permalink / raw)
  To: david, sandeen, linux-xfs

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
> 

^ permalink raw reply	[flat|nested] 59+ messages in thread

* [PATCH v3 16/15] xfs: start documenting common units and tags used in tracepoints
  2021-08-19  3:46   ` [PATCH v2 " Darrick J. Wong
  2021-08-19  5:39     ` Dave Chinner
  2021-08-19 13:27     ` Carlos Maiolino
@ 2021-08-19 17:10     ` Darrick J. Wong
  2 siblings, 0 replies; 59+ messages in thread
From: Darrick J. Wong @ 2021-08-19 17:10 UTC (permalink / raw)
  To: david, sandeen, cmaiolino; +Cc: linux-xfs

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

^ permalink raw reply related	[flat|nested] 59+ messages in thread

end of thread, other threads:[~2021-08-19 17:10 UTC | newest]

Thread overview: 59+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-17 23:42 [PATCHSET 00/15] xfs: clean up ftrace field tags and formats Darrick J. Wong
2021-08-17 23:42 ` [PATCH 01/15] xfs: fix incorrect unit conversion in scrub tracepoint Darrick J. Wong
2021-08-19  2:29   ` Dave Chinner
2021-08-19  7:57   ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 02/15] xfs: standardize inode number formatting in ftrace output Darrick J. Wong
2021-08-19  2:34   ` Dave Chinner
2021-08-19  8:27   ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 03/15] xfs: standardize AG " Darrick J. Wong
2021-08-19  2:35   ` Dave Chinner
2021-08-19  8:45   ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 04/15] xfs: standardize AG block " Darrick J. Wong
2021-08-19  2:37   ` Dave Chinner
2021-08-19  9:06   ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 05/15] xfs: standardize rmap owner " Darrick J. Wong
2021-08-19  2:38   ` Dave Chinner
2021-08-19  9:57   ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 06/15] xfs: standardize daddr " Darrick J. Wong
2021-08-19  2:42   ` Dave Chinner
2021-08-19 11:02   ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 07/15] xfs: disambiguate units for ftrace fields tagged "blkno", "block", or "bno" Darrick J. Wong
2021-08-19  2:47   ` Dave Chinner
2021-08-19 11:12   ` Carlos Maiolino
2021-08-17 23:42 ` [PATCH 08/15] xfs: disambiguate units for ftrace fields tagged "offset" Darrick J. Wong
2021-08-19  2:51   ` Dave Chinner
2021-08-19 11:45     ` Carlos Maiolino
2021-08-19 11:42   ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 09/15] xfs: disambiguate units for ftrace fields tagged "len" Darrick J. Wong
2021-08-19  3:01   ` Dave Chinner
2021-08-19  3:06     ` Darrick J. Wong
2021-08-19  3:44   ` [PATCH v2 " Darrick J. Wong
2021-08-19 12:08     ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 10/15] xfs: disambiguate units for ftrace fields tagged "count" Darrick J. Wong
2021-08-19  3:11   ` Dave Chinner
2021-08-19  3:19     ` Darrick J. Wong
2021-08-19  3:45   ` [PATCH v2 " Darrick J. Wong
2021-08-19  5:38     ` Dave Chinner
2021-08-19 12:26     ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 11/15] xfs: rename i_disk_size fields in ftrace output Darrick J. Wong
2021-08-19  3:14   ` Dave Chinner
2021-08-19 12:32   ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 12/15] xfs: resolve fork names in trace output Darrick J. Wong
2021-08-19  3:16   ` Dave Chinner
2021-08-19 12:43   ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 13/15] xfs: standardize remaining xfs_buf length tracepoints Darrick J. Wong
2021-08-19  3:19   ` Dave Chinner
2021-08-19 12:48   ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 14/15] xfs: standardize inode generation formatting in ftrace output Darrick J. Wong
2021-08-19  3:19   ` Dave Chinner
2021-08-19 12:57   ` Carlos Maiolino
2021-08-17 23:43 ` [PATCH 15/15] xfs: decode scrub flags " Darrick J. Wong
2021-08-19  3:20   ` Dave Chinner
2021-08-19 13:04   ` Carlos Maiolino
2021-08-19  3:07 ` [PATCH 16/15] xfs: start documenting common units and tags used in tracepoints Darrick J. Wong
2021-08-19  3:24   ` Dave Chinner
2021-08-19  3:46   ` [PATCH v2 " Darrick J. Wong
2021-08-19  5:39     ` Dave Chinner
2021-08-19 13:27     ` Carlos Maiolino
2021-08-19 17:06       ` Darrick J. Wong
2021-08-19 17:10     ` [PATCH v3 " Darrick J. Wong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).