]> git.itanic.dy.fi Git - linux-stable/commitdiff
xfs: use the op name in trace_xlog_intent_recovery_failed
authorChristoph Hellwig <hch@lst.de>
Thu, 28 Dec 2023 07:24:10 +0000 (07:24 +0000)
committerChandan Babu R <chandanbabu@kernel.org>
Fri, 29 Dec 2023 08:07:05 +0000 (13:37 +0530)
Instead of tracing the address of the recovery handler, use the name
in the defer op, similar to other defer ops related tracepoints.

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

index 75c5b3a2c2cba4aaeb2321209c311f568b90f5e7..66a17910d021942d5cbd943a933096705f09ea56 100644 (file)
@@ -921,8 +921,7 @@ xfs_defer_finish_recovery(
        /* dfp is freed by recover_work and must not be accessed afterwards */
        error = ops->recover_work(dfp, capture_list);
        if (error)
-               trace_xlog_intent_recovery_failed(mp, error,
-                               ops->recover_work);
+               trace_xlog_intent_recovery_failed(mp, ops, error);
        return error;
 }
 
index 0efcdb79d10e511b9e87a979a0da71a8b9861621..0984a1c884c742ab1fbd7b1f9f57c800de14999e 100644 (file)
@@ -67,6 +67,7 @@ struct xfs_buf_log_format;
 struct xfs_inode_log_format;
 struct xfs_bmbt_irec;
 struct xfs_btree_cur;
+struct xfs_defer_op_type;
 struct xfs_refcount_irec;
 struct xfs_fsmap;
 struct xfs_rmap_irec;
@@ -145,21 +146,23 @@ DEFINE_ATTR_LIST_EVENT(xfs_attr_leaf_list);
 DEFINE_ATTR_LIST_EVENT(xfs_attr_node_list);
 
 TRACE_EVENT(xlog_intent_recovery_failed,
-       TP_PROTO(struct xfs_mount *mp, int error, void *function),
-       TP_ARGS(mp, error, function),
+       TP_PROTO(struct xfs_mount *mp, const struct xfs_defer_op_type *ops,
+                int error),
+       TP_ARGS(mp, ops, error),
        TP_STRUCT__entry(
                __field(dev_t, dev)
+               __string(name, ops->name)
                __field(int, error)
-               __field(void *, function)
        ),
        TP_fast_assign(
                __entry->dev = mp->m_super->s_dev;
+               __assign_str(name, ops->name);
                __entry->error = error;
-               __entry->function = function;
        ),
-       TP_printk("dev %d:%d error %d function %pS",
+       TP_printk("dev %d:%d optype %s error %d",
                  MAJOR(__entry->dev), MINOR(__entry->dev),
-                 __entry->error, __entry->function)
+                 __get_str(name),
+                 __entry->error)
 );
 
 DECLARE_EVENT_CLASS(xfs_perag_class,