]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: clean up extent free log intent item tracepoint callsites
authorDarrick J. Wong <djwong@kernel.org>
Tue, 2 Jul 2024 18:22:50 +0000 (11:22 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 2 Jul 2024 18:37:01 +0000 (11:37 -0700)
Pass the incore EFI structure to the tracepoints instead of open-coding
the argument passing.  This cleans up the call sites a bit.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/libxfs/xfs_alloc.c
fs/xfs/xfs_extfree_item.c
fs/xfs/xfs_trace.h

index 63315ddc46c67bb43617f38db78f1de8fe1f5740..4d4fc37d738c3c625db1462aeeebf5869e9993b8 100644 (file)
@@ -2544,7 +2544,7 @@ xfs_defer_agfl_block(
        xefi->xefi_owner = oinfo->oi_owner;
        xefi->xefi_agresv = XFS_AG_RESV_AGFL;
 
-       trace_xfs_agfl_free_defer(mp, agno, 0, agbno, 1);
+       trace_xfs_agfl_free_defer(mp, xefi);
 
        xfs_extent_free_get_group(mp, xefi);
        xfs_defer_add(tp, &xefi->xefi_list, &xfs_agfl_free_defer_type);
@@ -2606,9 +2606,8 @@ xfs_defer_extent_free(
        } else {
                xefi->xefi_owner = XFS_RMAP_OWN_NULL;
        }
-       trace_xfs_bmap_free_defer(mp,
-                       XFS_FSB_TO_AGNO(tp->t_mountp, bno), 0,
-                       XFS_FSB_TO_AGBNO(tp->t_mountp, bno), len);
+
+       trace_xfs_extent_free_defer(mp, xefi);
 
        xfs_extent_free_get_group(mp, xefi);
        *dfpp = xfs_defer_add(tp, &xefi->xefi_list, &xfs_extent_free_defer_type);
index 01ebbd7691a54eef3ca05861e75b0636322c753f..5a76af9d8560f0256fe4ffe1d9ce76c5a96b4ba7 100644 (file)
@@ -464,8 +464,7 @@ xfs_extent_free_finish_item(
        if (xefi->xefi_flags & XFS_EFI_BMBT_BLOCK)
                oinfo.oi_flags |= XFS_OWNER_INFO_BMBT_BLOCK;
 
-       trace_xfs_bmap_free_deferred(tp->t_mountp, xefi->xefi_pag->pag_agno, 0,
-                       agbno, xefi->xefi_blockcount);
+       trace_xfs_extent_free_deferred(mp, xefi);
 
        /*
         * If we need a new transaction to make progress, the caller will log a
@@ -542,8 +541,7 @@ xfs_agfl_free_finish_item(
        agbno = XFS_FSB_TO_AGBNO(mp, xefi->xefi_startblock);
        oinfo.oi_owner = xefi->xefi_owner;
 
-       trace_xfs_agfl_free_deferred(mp, xefi->xefi_pag->pag_agno, 0, agbno,
-                       xefi->xefi_blockcount);
+       trace_xfs_agfl_free_deferred(mp, xefi);
 
        error = xfs_alloc_read_agf(xefi->xefi_pag, tp, 0, &agbp);
        if (!error)
index ba839ce6a9cf6738c0cf144c3478d9fd684aa748..b2ea9d5141a7265c3646c798ff8e0a630e31d322 100644 (file)
@@ -90,6 +90,7 @@ struct xfs_exchrange;
 struct xfs_getparents;
 struct xfs_parent_irec;
 struct xfs_attrlist_cursor_kern;
+struct xfs_extent_free_item;
 
 #define XFS_ATTR_FILTER_FLAGS \
        { XFS_ATTR_ROOT,        "ROOT" }, \
@@ -2710,41 +2711,37 @@ DEFINE_DEFER_PENDING_EVENT(xfs_defer_item_pause);
 DEFINE_DEFER_PENDING_EVENT(xfs_defer_item_unpause);
 
 DECLARE_EVENT_CLASS(xfs_free_extent_deferred_class,
-       TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno,
-                int type, xfs_agblock_t agbno, xfs_extlen_t len),
-       TP_ARGS(mp, agno, type, agbno, len),
+       TP_PROTO(struct xfs_mount *mp, struct xfs_extent_free_item *free),
+       TP_ARGS(mp, free),
        TP_STRUCT__entry(
                __field(dev_t, dev)
                __field(xfs_agnumber_t, agno)
-               __field(int, type)
                __field(xfs_agblock_t, agbno)
                __field(xfs_extlen_t, len)
+               __field(unsigned int, flags)
        ),
        TP_fast_assign(
                __entry->dev = mp->m_super->s_dev;
-               __entry->agno = agno;
-               __entry->type = type;
-               __entry->agbno = agbno;
-               __entry->len = len;
+               __entry->agno = XFS_FSB_TO_AGNO(mp, free->xefi_startblock);
+               __entry->agbno = XFS_FSB_TO_AGBNO(mp, free->xefi_startblock);
+               __entry->len = free->xefi_blockcount;
+               __entry->flags = free->xefi_flags;
        ),
-       TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x fsbcount 0x%x",
+       TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x flags 0x%x",
                  MAJOR(__entry->dev), MINOR(__entry->dev),
-                 __entry->type,
                  __entry->agno,
                  __entry->agbno,
-                 __entry->len)
+                 __entry->len,
+                 __entry->flags)
 );
 #define DEFINE_FREE_EXTENT_DEFERRED_EVENT(name) \
 DEFINE_EVENT(xfs_free_extent_deferred_class, name, \
-       TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, \
-                int type, \
-                xfs_agblock_t bno, \
-                xfs_extlen_t len), \
-       TP_ARGS(mp, agno, type, bno, len))
-DEFINE_FREE_EXTENT_DEFERRED_EVENT(xfs_bmap_free_defer);
-DEFINE_FREE_EXTENT_DEFERRED_EVENT(xfs_bmap_free_deferred);
+       TP_PROTO(struct xfs_mount *mp, struct xfs_extent_free_item *free), \
+       TP_ARGS(mp, free))
 DEFINE_FREE_EXTENT_DEFERRED_EVENT(xfs_agfl_free_defer);
 DEFINE_FREE_EXTENT_DEFERRED_EVENT(xfs_agfl_free_deferred);
+DEFINE_FREE_EXTENT_DEFERRED_EVENT(xfs_extent_free_defer);
+DEFINE_FREE_EXTENT_DEFERRED_EVENT(xfs_extent_free_deferred);
 
 DECLARE_EVENT_CLASS(xfs_defer_pending_item_class,
        TP_PROTO(struct xfs_mount *mp, struct xfs_defer_pending *dfp,