xfs: pass a perag structure to the xfs_ag_resv_init_error trace point
authorChristoph Hellwig <hch@lst.de>
Mon, 4 Nov 2024 04:18:32 +0000 (20:18 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 5 Nov 2024 21:38:26 +0000 (13:38 -0800)
And remove the single instance class indirection for it.

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

index 216423df939e5cb9bf0ad3198ea41d911834383e..4b1bd7cc7ba28ceb164e5a44d490cb981230d705 100644 (file)
@@ -206,8 +206,7 @@ __xfs_ag_resv_init(
        else
                error = xfs_dec_fdblocks(mp, hidden_space, true);
        if (error) {
-               trace_xfs_ag_resv_init_error(pag->pag_mount, pag->pag_agno,
-                               error, _RET_IP_);
+               trace_xfs_ag_resv_init_error(pag, error, _RET_IP_);
                xfs_warn(mp,
 "Per-AG reservation for AG %u failed.  Filesystem may run out of space.",
                                pag->pag_agno);
index c5128b151dbfce9d9bcdb237fd3073a870691545..14fb86daea61bf0f8253d3cc391d2b3d0e33035e 100644 (file)
@@ -3139,11 +3139,10 @@ DEFINE_AG_RESV_EVENT(xfs_ag_resv_free_extent);
 DEFINE_AG_RESV_EVENT(xfs_ag_resv_critical);
 DEFINE_AG_RESV_EVENT(xfs_ag_resv_needed);
 
-/* simple AG-based error/%ip tracepoint class */
-DECLARE_EVENT_CLASS(xfs_ag_error_class,
-       TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, int error,
+TRACE_EVENT(xfs_ag_resv_init_error,
+       TP_PROTO(const struct xfs_perag *pag, int error,
                 unsigned long caller_ip),
-       TP_ARGS(mp, agno, error, caller_ip),
+       TP_ARGS(pag, error, caller_ip),
        TP_STRUCT__entry(
                __field(dev_t, dev)
                __field(xfs_agnumber_t, agno)
@@ -3151,8 +3150,8 @@ DECLARE_EVENT_CLASS(xfs_ag_error_class,
                __field(unsigned long, caller_ip)
        ),
        TP_fast_assign(
-               __entry->dev = mp->m_super->s_dev;
-               __entry->agno = agno;
+               __entry->dev = pag->pag_mount->m_super->s_dev;
+               __entry->agno = pag->pag_agno;
                __entry->error = error;
                __entry->caller_ip = caller_ip;
        ),
@@ -3163,13 +3162,6 @@ DECLARE_EVENT_CLASS(xfs_ag_error_class,
                  (char *)__entry->caller_ip)
 );
 
-#define DEFINE_AG_ERROR_EVENT(name) \
-DEFINE_EVENT(xfs_ag_error_class, name, \
-       TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, int error, \
-                unsigned long caller_ip), \
-       TP_ARGS(mp, agno, error, caller_ip))
-DEFINE_AG_ERROR_EVENT(xfs_ag_resv_init_error);
-
 /* refcount tracepoint classes */
 
 DECLARE_EVENT_CLASS(xfs_refcount_class,