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>
This commit is contained in:
parent
da5de11029
commit
6337032689
@ -2559,9 +2559,12 @@ xlog_recover_process_intents(
|
|||||||
spin_unlock(&ailp->ail_lock);
|
spin_unlock(&ailp->ail_lock);
|
||||||
error = lip->li_ops->iop_recover(lip, &capture_list);
|
error = lip->li_ops->iop_recover(lip, &capture_list);
|
||||||
spin_lock(&ailp->ail_lock);
|
spin_lock(&ailp->ail_lock);
|
||||||
if (error)
|
if (error) {
|
||||||
|
trace_xlog_intent_recovery_failed(log->l_mp, error,
|
||||||
|
lip->li_ops->iop_recover);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
xfs_trans_ail_cursor_done(&cur);
|
xfs_trans_ail_cursor_done(&cur);
|
||||||
spin_unlock(&ailp->ail_lock);
|
spin_unlock(&ailp->ail_lock);
|
||||||
|
@ -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_leaf_list);
|
||||||
DEFINE_ATTR_LIST_EVENT(xfs_attr_node_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,
|
DECLARE_EVENT_CLASS(xfs_perag_class,
|
||||||
TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, int refcount,
|
TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, int refcount,
|
||||||
unsigned long caller_ip),
|
unsigned long caller_ip),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user