From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Record the whichfork number of the fork being operated on in iext tracepoints. This makes it easier to trace our way through complex remapping operations like copy on write. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> --- fs/xfs/xfs_trace.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index cd87985..1c38b79 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -233,6 +233,7 @@ DECLARE_EVENT_CLASS(xfs_bmap_class, __field(xfs_exntst_t, state) __field(int, bmap_state) __field(unsigned long, caller_ip) + __field(int, whichfork) ), TP_fast_assign( struct xfs_ifork *ifp; @@ -250,11 +251,19 @@ DECLARE_EVENT_CLASS(xfs_bmap_class, __entry->state = r.br_state; __entry->bmap_state = state; __entry->caller_ip = caller_ip; - ), - TP_printk("dev %d:%d ino 0x%llx state %s cur 0x%p/%d " + if (ifp == XFS_IFORK_PTR(ip, XFS_DATA_FORK)) + __entry->whichfork = XFS_DATA_FORK; + else if (ifp == XFS_IFORK_PTR(ip, XFS_ATTR_FORK)) + __entry->whichfork = XFS_ATTR_FORK; + else if (ifp == XFS_IFORK_PTR(ip, XFS_COW_FORK)) + __entry->whichfork = XFS_COW_FORK; + else + __entry->whichfork = -1; + ), + TP_printk("dev %d:%d ino 0x%llx fork %d state %s cur 0x%p/%d " "offset %lld block %lld count %lld flag %d caller %ps", MAJOR(__entry->dev), MINOR(__entry->dev), - __entry->ino, + __entry->ino, __entry->whichfork, __print_flags(__entry->bmap_state, "|", XFS_BMAP_EXT_FLAGS), __entry->leaf, __entry->pos, -- To unsubscribe from this list: send the line "unsubscribe linux-xfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html