On Sun, Dec 06, 2020 at 03:10:48PM -0800, Darrick J. Wong wrote: > From: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > > Add a trace point so that we can capture when a recovered log intent > item fails to recover. > > Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> > Reviewed-by: Christoph Hellwig <hch@xxxxxx> > --- > fs/xfs/xfs_log_recover.c | 5 ++++- > fs/xfs/xfs_trace.h | 18 ++++++++++++++++++ > 2 files changed, 22 insertions(+), 1 deletion(-) > > ... > diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h > index 86951652d3ed..8fdb51eac1af 100644 > --- a/fs/xfs/xfs_trace.h > +++ b/fs/xfs/xfs_trace.h > @@ -103,6 +103,24 @@ DEFINE_ATTR_LIST_EVENT(xfs_attr_list_notfound); > 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 *caller_ip), > + TP_ARGS(mp, error, caller_ip), > + TP_STRUCT__entry( > + __field(dev_t, dev) > + __field(int, error) > + __field(void *, caller_ip) > + ), > + TP_fast_assign( > + __entry->dev = mp->m_super->s_dev; > + __entry->error = error; > + __entry->caller_ip = caller_ip; > + ), > + TP_printk("dev %d:%d error %d function %pS", > + MAJOR(__entry->dev), MINOR(__entry->dev), > + __entry->error, __entry->caller_ip) > +); > + Nit: I'd still swap out all of the caller_ip naming for clarity, but otherwise LGTM: Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> > DECLARE_EVENT_CLASS(xfs_perag_class, > TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, int refcount, > unsigned long caller_ip), >