xfs: trace log reservations at mount time

At each mount, emit the transaction reservation type information via
tracepoints.  This makes it easier to compare the log reservation info
calculated by the kernel and xfsprogs so that we can more easily diagnose
minimum log size failures on freshly formatted filesystems.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
此提交包含在:
Darrick J. Wong
2018-01-08 10:51:26 -08:00
父節點 9c712a1346
當前提交 b872af2c87
共有 4 個檔案被更改,包括 52 行新增1 行删除

查看文件

@@ -3313,6 +3313,32 @@ DEFINE_GETFSMAP_EVENT(xfs_getfsmap_low_key);
DEFINE_GETFSMAP_EVENT(xfs_getfsmap_high_key);
DEFINE_GETFSMAP_EVENT(xfs_getfsmap_mapping);
TRACE_EVENT(xfs_trans_resv_calc,
TP_PROTO(struct xfs_mount *mp, unsigned int type,
struct xfs_trans_res *res),
TP_ARGS(mp, type, res),
TP_STRUCT__entry(
__field(dev_t, dev)
__field(int, type)
__field(uint, logres)
__field(int, logcount)
__field(int, logflags)
),
TP_fast_assign(
__entry->dev = mp->m_super->s_dev;
__entry->type = type;
__entry->logres = res->tr_logres;
__entry->logcount = res->tr_logcount;
__entry->logflags = res->tr_logflags;
),
TP_printk("dev %d:%d type %d logres %u logcount %d flags 0x%x",
MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->type,
__entry->logres,
__entry->logcount,
__entry->logflags)
);
#endif /* _TRACE_XFS_H */
#undef TRACE_INCLUDE_PATH