1
0
Fork 0

xfs: trace log intent item recovery failures

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@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Brian Foster <bfoster@redhat.com>
zero-sugar-mainline-defconfig
Darrick J. Wong 2020-11-29 16:33:39 -08:00
parent da5de11029
commit 6337032689
2 changed files with 22 additions and 1 deletions

View File

@ -2559,8 +2559,11 @@ xlog_recover_process_intents(
spin_unlock(&ailp->ail_lock);
error = lip->li_ops->iop_recover(lip, &capture_list);
spin_lock(&ailp->ail_lock);
if (error)
if (error) {
trace_xlog_intent_recovery_failed(log->l_mp, error,
lip->li_ops->iop_recover);
break;
}
}
xfs_trans_ail_cursor_done(&cur);

View File

@ -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 *function),
TP_ARGS(mp, error, function),
TP_STRUCT__entry(
__field(dev_t, dev)
__field(int, error)
__field(void *, function)
),
TP_fast_assign(
__entry->dev = mp->m_super->s_dev;
__entry->error = error;
__entry->function = function;
),
TP_printk("dev %d:%d error %d function %pS",
MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->error, __entry->function)
);
DECLARE_EVENT_CLASS(xfs_perag_class,
TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, int refcount,
unsigned long caller_ip),