summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_trace.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/xfs/xfs_trace.h')
-rw-r--r--fs/xfs/xfs_trace.h158
1 files changed, 87 insertions, 71 deletions
diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
index dad720c56f2b..75c03e9bafc0 100644
--- a/fs/xfs/xfs_trace.h
+++ b/fs/xfs/xfs_trace.h
@@ -21,6 +21,8 @@
*
* rmapbno: physical block number for a reverse mapping. This is an agbno for
* per-AG rmap btrees or a rtbno for realtime rmap btrees.
+ * refcbno: physical block number for a refcount record. This is an agbno for
+ * per-AG refcount btrees or a rtbno for realtime refcount btrees.
*
* daddr: physical block number in 512b blocks
* bbcount: number of blocks in a physical extent, in 512b blocks
@@ -3111,56 +3113,60 @@ DEFINE_AG_ERROR_EVENT(xfs_ag_resv_init_error);
/* refcount tracepoint classes */
DECLARE_EVENT_CLASS(xfs_refcount_class,
- TP_PROTO(struct xfs_btree_cur *cur, xfs_agblock_t agbno,
- xfs_extlen_t len),
- TP_ARGS(cur, agbno, len),
+ TP_PROTO(struct xfs_btree_cur *cur, xfs_fsblock_t bno,
+ xfs_filblks_t len),
+ TP_ARGS(cur, bno, len),
TP_STRUCT__entry(
__field(dev_t, dev)
+ __field(dev_t, opdev)
__field(xfs_agnumber_t, agno)
- __field(xfs_agblock_t, agbno)
- __field(xfs_extlen_t, len)
+ __field(xfs_fsblock_t, bno)
+ __field(xfs_filblks_t, len)
),
TP_fast_assign(
__entry->dev = cur->bc_mp->m_super->s_dev;
- __entry->agno = cur->bc_ag.pag->pag_agno;
- __entry->agbno = agbno;
+ xfs_btree_crack_agno_opdev(cur, &__entry->agno, &__entry->opdev);
+ __entry->bno = bno;
__entry->len = len;
),
- TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x",
+ TP_printk("dev %d:%d opdev %d:%d agno 0x%x refcbno 0x%llx fsbcount 0x%llx",
MAJOR(__entry->dev), MINOR(__entry->dev),
+ MAJOR(__entry->opdev), MINOR(__entry->opdev),
__entry->agno,
- __entry->agbno,
+ __entry->bno,
__entry->len)
);
#define DEFINE_REFCOUNT_EVENT(name) \
DEFINE_EVENT(xfs_refcount_class, name, \
- TP_PROTO(struct xfs_btree_cur *cur, xfs_agblock_t agbno, \
- xfs_extlen_t len), \
- TP_ARGS(cur, agbno, len))
+ TP_PROTO(struct xfs_btree_cur *cur, xfs_fsblock_t bno, \
+ xfs_filblks_t len), \
+ TP_ARGS(cur, bno, len))
TRACE_DEFINE_ENUM(XFS_LOOKUP_EQi);
TRACE_DEFINE_ENUM(XFS_LOOKUP_LEi);
TRACE_DEFINE_ENUM(XFS_LOOKUP_GEi);
TRACE_EVENT(xfs_refcount_lookup,
- TP_PROTO(struct xfs_btree_cur *cur, xfs_agblock_t agbno,
+ TP_PROTO(struct xfs_btree_cur *cur, xfs_fsblock_t bno,
xfs_lookup_t dir),
- TP_ARGS(cur, agbno, dir),
+ TP_ARGS(cur, bno, dir),
TP_STRUCT__entry(
__field(dev_t, dev)
+ __field(dev_t, opdev)
__field(xfs_agnumber_t, agno)
- __field(xfs_agblock_t, agbno)
+ __field(xfs_fsblock_t, bno)
__field(xfs_lookup_t, dir)
),
TP_fast_assign(
__entry->dev = cur->bc_mp->m_super->s_dev;
- __entry->agno = cur->bc_ag.pag->pag_agno;
- __entry->agbno = agbno;
+ xfs_btree_crack_agno_opdev(cur, &__entry->agno, &__entry->opdev);
+ __entry->bno = bno;
__entry->dir = dir;
),
- TP_printk("dev %d:%d agno 0x%x agbno 0x%x cmp %s(%d)",
+ TP_printk("dev %d:%d opdev %d:%d agno 0x%x refcbno 0x%llx cmp %s(%d)",
MAJOR(__entry->dev), MINOR(__entry->dev),
+ MAJOR(__entry->opdev), MINOR(__entry->opdev),
__entry->agno,
- __entry->agbno,
+ __entry->bno,
__print_symbolic(__entry->dir, XFS_AG_BTREE_CMP_FORMAT_STR),
__entry->dir)
)
@@ -3171,20 +3177,22 @@ DECLARE_EVENT_CLASS(xfs_refcount_extent_class,
TP_ARGS(cur, irec),
TP_STRUCT__entry(
__field(dev_t, dev)
+ __field(dev_t, opdev)
__field(xfs_agnumber_t, agno)
- __field(xfs_agblock_t, startblock)
- __field(xfs_extlen_t, blockcount)
+ __field(xfs_fsblock_t, startblock)
+ __field(xfs_filblks_t, blockcount)
__field(xfs_nlink_t, refcount)
),
TP_fast_assign(
__entry->dev = cur->bc_mp->m_super->s_dev;
- __entry->agno = cur->bc_ag.pag->pag_agno;
+ xfs_btree_crack_agno_opdev(cur, &__entry->agno, &__entry->opdev);
__entry->startblock = irec->rc_startblock;
__entry->blockcount = irec->rc_blockcount;
__entry->refcount = irec->rc_refcount;
),
- TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u",
+ TP_printk("dev %d:%d opdev %d:%d agno 0x%x refcbno 0x%llx fsbcount 0x%llx refcount %u",
MAJOR(__entry->dev), MINOR(__entry->dev),
+ MAJOR(__entry->opdev), MINOR(__entry->opdev),
__entry->agno,
__entry->startblock,
__entry->blockcount,
@@ -3199,57 +3207,60 @@ DEFINE_EVENT(xfs_refcount_extent_class, name, \
/* single-rcext and an agbno tracepoint class */
DECLARE_EVENT_CLASS(xfs_refcount_extent_at_class,
TP_PROTO(struct xfs_btree_cur *cur, struct xfs_refcount_irec *irec,
- xfs_agblock_t agbno),
- TP_ARGS(cur, irec, agbno),
+ xfs_fsblock_t bno),
+ TP_ARGS(cur, irec, bno),
TP_STRUCT__entry(
__field(dev_t, dev)
+ __field(dev_t, opdev)
__field(xfs_agnumber_t, agno)
- __field(xfs_agblock_t, startblock)
- __field(xfs_extlen_t, blockcount)
+ __field(xfs_fsblock_t, startblock)
+ __field(xfs_filblks_t, blockcount)
__field(xfs_nlink_t, refcount)
- __field(xfs_agblock_t, agbno)
+ __field(xfs_fsblock_t, bno)
),
TP_fast_assign(
__entry->dev = cur->bc_mp->m_super->s_dev;
- __entry->agno = cur->bc_ag.pag->pag_agno;
+ xfs_btree_crack_agno_opdev(cur, &__entry->agno, &__entry->opdev);
__entry->startblock = irec->rc_startblock;
__entry->blockcount = irec->rc_blockcount;
__entry->refcount = irec->rc_refcount;
- __entry->agbno = agbno;
+ __entry->bno = bno;
),
- TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u @ agbno 0x%x",
+ TP_printk("dev %d:%d opdev %d:%d agno 0x%x refcbno 0x%llx fsbcount 0x%llx refcount %u @ refcbno 0x%llx",
MAJOR(__entry->dev), MINOR(__entry->dev),
+ MAJOR(__entry->opdev), MINOR(__entry->opdev),
__entry->agno,
__entry->startblock,
__entry->blockcount,
__entry->refcount,
- __entry->agbno)
+ __entry->bno)
)
#define DEFINE_REFCOUNT_EXTENT_AT_EVENT(name) \
DEFINE_EVENT(xfs_refcount_extent_at_class, name, \
TP_PROTO(struct xfs_btree_cur *cur, struct xfs_refcount_irec *irec, \
- xfs_agblock_t agbno), \
- TP_ARGS(cur, irec, agbno))
+ xfs_fsblock_t bno), \
+ TP_ARGS(cur, irec, bno))
/* double-rcext tracepoint class */
DECLARE_EVENT_CLASS(xfs_refcount_double_extent_class,
TP_PROTO(struct xfs_btree_cur *cur, struct xfs_refcount_irec *i1,
- struct xfs_refcount_irec *i2),
+ struct xfs_refcount_irec *i2),
TP_ARGS(cur, i1, i2),
TP_STRUCT__entry(
__field(dev_t, dev)
+ __field(dev_t, opdev)
__field(xfs_agnumber_t, agno)
- __field(xfs_agblock_t, i1_startblock)
- __field(xfs_extlen_t, i1_blockcount)
+ __field(xfs_fsblock_t, i1_startblock)
+ __field(xfs_filblks_t, i1_blockcount)
__field(xfs_nlink_t, i1_refcount)
- __field(xfs_agblock_t, i2_startblock)
- __field(xfs_extlen_t, i2_blockcount)
+ __field(xfs_fsblock_t, i2_startblock)
+ __field(xfs_filblks_t, i2_blockcount)
__field(xfs_nlink_t, i2_refcount)
),
TP_fast_assign(
__entry->dev = cur->bc_mp->m_super->s_dev;
- __entry->agno = cur->bc_ag.pag->pag_agno;
+ xfs_btree_crack_agno_opdev(cur, &__entry->agno, &__entry->opdev);
__entry->i1_startblock = i1->rc_startblock;
__entry->i1_blockcount = i1->rc_blockcount;
__entry->i1_refcount = i1->rc_refcount;
@@ -3257,9 +3268,10 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_class,
__entry->i2_blockcount = i2->rc_blockcount;
__entry->i2_refcount = i2->rc_refcount;
),
- TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u -- "
- "agbno 0x%x fsbcount 0x%x refcount %u",
+ TP_printk("dev %d:%d opdev %d:%d agno 0x%x refcbno 0x%llx fsbcount 0x%llx refcount %u -- "
+ "refcbno 0x%llx fsbcount 0x%llx refcount %u",
MAJOR(__entry->dev), MINOR(__entry->dev),
+ MAJOR(__entry->opdev), MINOR(__entry->opdev),
__entry->agno,
__entry->i1_startblock,
__entry->i1_blockcount,
@@ -3278,33 +3290,35 @@ DEFINE_EVENT(xfs_refcount_double_extent_class, name, \
/* double-rcext and an agbno tracepoint class */
DECLARE_EVENT_CLASS(xfs_refcount_double_extent_at_class,
TP_PROTO(struct xfs_btree_cur *cur, struct xfs_refcount_irec *i1,
- struct xfs_refcount_irec *i2, xfs_agblock_t agbno),
- TP_ARGS(cur, i1, i2, agbno),
+ struct xfs_refcount_irec *i2, xfs_fsblock_t bno),
+ TP_ARGS(cur, i1, i2, bno),
TP_STRUCT__entry(
__field(dev_t, dev)
+ __field(dev_t, opdev)
__field(xfs_agnumber_t, agno)
- __field(xfs_agblock_t, i1_startblock)
- __field(xfs_extlen_t, i1_blockcount)
+ __field(xfs_fsblock_t, i1_startblock)
+ __field(xfs_filblks_t, i1_blockcount)
__field(xfs_nlink_t, i1_refcount)
- __field(xfs_agblock_t, i2_startblock)
- __field(xfs_extlen_t, i2_blockcount)
+ __field(xfs_fsblock_t, i2_startblock)
+ __field(xfs_filblks_t, i2_blockcount)
__field(xfs_nlink_t, i2_refcount)
- __field(xfs_agblock_t, agbno)
+ __field(xfs_fsblock_t, bno)
),
TP_fast_assign(
__entry->dev = cur->bc_mp->m_super->s_dev;
- __entry->agno = cur->bc_ag.pag->pag_agno;
+ xfs_btree_crack_agno_opdev(cur, &__entry->agno, &__entry->opdev);
__entry->i1_startblock = i1->rc_startblock;
__entry->i1_blockcount = i1->rc_blockcount;
__entry->i1_refcount = i1->rc_refcount;
__entry->i2_startblock = i2->rc_startblock;
__entry->i2_blockcount = i2->rc_blockcount;
__entry->i2_refcount = i2->rc_refcount;
- __entry->agbno = agbno;
+ __entry->bno = bno;
),
- TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u -- "
- "agbno 0x%x fsbcount 0x%x refcount %u @ agbno 0x%x",
+ TP_printk("dev %d:%d opdev %d:%d agno 0x%x refcbno 0x%llx fsbcount 0x%llx refcount %u -- "
+ "refcbno 0x%llx fsbcount 0x%llx refcount %u @ refcbno 0x%llx",
MAJOR(__entry->dev), MINOR(__entry->dev),
+ MAJOR(__entry->opdev), MINOR(__entry->opdev),
__entry->agno,
__entry->i1_startblock,
__entry->i1_blockcount,
@@ -3312,14 +3326,14 @@ DECLARE_EVENT_CLASS(xfs_refcount_double_extent_at_class,
__entry->i2_startblock,
__entry->i2_blockcount,
__entry->i2_refcount,
- __entry->agbno)
+ __entry->bno)
)
#define DEFINE_REFCOUNT_DOUBLE_EXTENT_AT_EVENT(name) \
DEFINE_EVENT(xfs_refcount_double_extent_at_class, name, \
TP_PROTO(struct xfs_btree_cur *cur, struct xfs_refcount_irec *i1, \
- struct xfs_refcount_irec *i2, xfs_agblock_t agbno), \
- TP_ARGS(cur, i1, i2, agbno))
+ struct xfs_refcount_irec *i2, xfs_fsblock_t bno), \
+ TP_ARGS(cur, i1, i2, bno))
/* triple-rcext tracepoint class */
DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class,
@@ -3328,20 +3342,21 @@ DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class,
TP_ARGS(cur, i1, i2, i3),
TP_STRUCT__entry(
__field(dev_t, dev)
+ __field(dev_t, opdev)
__field(xfs_agnumber_t, agno)
- __field(xfs_agblock_t, i1_startblock)
- __field(xfs_extlen_t, i1_blockcount)
+ __field(xfs_fsblock_t, i1_startblock)
+ __field(xfs_filblks_t, i1_blockcount)
__field(xfs_nlink_t, i1_refcount)
- __field(xfs_agblock_t, i2_startblock)
- __field(xfs_extlen_t, i2_blockcount)
+ __field(xfs_fsblock_t, i2_startblock)
+ __field(xfs_filblks_t, i2_blockcount)
__field(xfs_nlink_t, i2_refcount)
- __field(xfs_agblock_t, i3_startblock)
- __field(xfs_extlen_t, i3_blockcount)
+ __field(xfs_fsblock_t, i3_startblock)
+ __field(xfs_filblks_t, i3_blockcount)
__field(xfs_nlink_t, i3_refcount)
),
TP_fast_assign(
__entry->dev = cur->bc_mp->m_super->s_dev;
- __entry->agno = cur->bc_ag.pag->pag_agno;
+ xfs_btree_crack_agno_opdev(cur, &__entry->agno, &__entry->opdev);
__entry->i1_startblock = i1->rc_startblock;
__entry->i1_blockcount = i1->rc_blockcount;
__entry->i1_refcount = i1->rc_refcount;
@@ -3352,10 +3367,11 @@ DECLARE_EVENT_CLASS(xfs_refcount_triple_extent_class,
__entry->i3_blockcount = i3->rc_blockcount;
__entry->i3_refcount = i3->rc_refcount;
),
- TP_printk("dev %d:%d agno 0x%x agbno 0x%x fsbcount 0x%x refcount %u -- "
- "agbno 0x%x fsbcount 0x%x refcount %u -- "
- "agbno 0x%x fsbcount 0x%x refcount %u",
+ TP_printk("dev %d:%d opdev %d:%d agno 0x%x refcbno 0x%llx fsbcount 0x%llx refcount %u -- "
+ "refcbno 0x%llx fsbcount 0x%llx refcount %u -- "
+ "refcbno 0x%llx fsbcount 0x%llx refcount %u",
MAJOR(__entry->dev), MINOR(__entry->dev),
+ MAJOR(__entry->opdev), MINOR(__entry->opdev),
__entry->agno,
__entry->i1_startblock,
__entry->i1_blockcount,
@@ -3422,21 +3438,21 @@ DECLARE_EVENT_CLASS(xfs_refcount_deferred_class,
__field(dev_t, dev)
__field(xfs_agnumber_t, agno)
__field(int, op)
- __field(xfs_agblock_t, agbno)
- __field(xfs_extlen_t, len)
+ __field(xfs_fsblock_t, bno)
+ __field(xfs_filblks_t, len)
),
TP_fast_assign(
__entry->dev = mp->m_super->s_dev;
__entry->agno = XFS_FSB_TO_AGNO(mp, refc->ri_startblock);
__entry->op = refc->ri_type;
- __entry->agbno = XFS_FSB_TO_AGBNO(mp, refc->ri_startblock);
+ __entry->bno = XFS_FSB_TO_AGBNO(mp, refc->ri_startblock);
__entry->len = refc->ri_blockcount;
),
- TP_printk("dev %d:%d op %s agno 0x%x agbno 0x%x fsbcount 0x%x",
+ TP_printk("dev %d:%d op %s agno 0x%x refcbno 0x%llx fsbcount 0x%llx",
MAJOR(__entry->dev), MINOR(__entry->dev),
__print_symbolic(__entry->op, XFS_REFCOUNT_INTENT_STRINGS),
__entry->agno,
- __entry->agbno,
+ __entry->bno,
__entry->len)
);
#define DEFINE_REFCOUNT_DEFERRED_EVENT(name) \