Commit 2a15e768 authored by Darrick J. Wong's avatar Darrick J. Wong

xfs: clean up bmap log intent item tracepoint callsites

Pass the incore bmap structure to the tracepoints instead of open-coding
the argument passing.
Signed-off-by: default avatarDarrick J. Wong <djwong@kernel.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
parent ef2d4a00
...@@ -6191,15 +6191,6 @@ __xfs_bmap_add( ...@@ -6191,15 +6191,6 @@ __xfs_bmap_add(
{ {
struct xfs_bmap_intent *bi; struct xfs_bmap_intent *bi;
trace_xfs_bmap_defer(tp->t_mountp,
XFS_FSB_TO_AGNO(tp->t_mountp, bmap->br_startblock),
type,
XFS_FSB_TO_AGBNO(tp->t_mountp, bmap->br_startblock),
ip->i_ino, whichfork,
bmap->br_startoff,
bmap->br_blockcount,
bmap->br_state);
bi = kmem_cache_alloc(xfs_bmap_intent_cache, GFP_KERNEL | __GFP_NOFAIL); bi = kmem_cache_alloc(xfs_bmap_intent_cache, GFP_KERNEL | __GFP_NOFAIL);
INIT_LIST_HEAD(&bi->bi_list); INIT_LIST_HEAD(&bi->bi_list);
bi->bi_type = type; bi->bi_type = type;
...@@ -6207,6 +6198,8 @@ __xfs_bmap_add( ...@@ -6207,6 +6198,8 @@ __xfs_bmap_add(
bi->bi_whichfork = whichfork; bi->bi_whichfork = whichfork;
bi->bi_bmap = *bmap; bi->bi_bmap = *bmap;
trace_xfs_bmap_defer(bi);
xfs_bmap_update_get_group(tp->t_mountp, bi); xfs_bmap_update_get_group(tp->t_mountp, bi);
xfs_defer_add(tp, &bi->bi_list, &xfs_bmap_update_defer_type); xfs_defer_add(tp, &bi->bi_list, &xfs_bmap_update_defer_type);
return 0; return 0;
...@@ -6252,13 +6245,7 @@ xfs_bmap_finish_one( ...@@ -6252,13 +6245,7 @@ xfs_bmap_finish_one(
ASSERT(tp->t_highest_agno == NULLAGNUMBER); ASSERT(tp->t_highest_agno == NULLAGNUMBER);
trace_xfs_bmap_deferred(tp->t_mountp, trace_xfs_bmap_deferred(bi);
XFS_FSB_TO_AGNO(tp->t_mountp, bmap->br_startblock),
bi->bi_type,
XFS_FSB_TO_AGBNO(tp->t_mountp, bmap->br_startblock),
bi->bi_owner->i_ino, bi->bi_whichfork,
bmap->br_startoff, bmap->br_blockcount,
bmap->br_state);
if (WARN_ON_ONCE(bi->bi_whichfork != XFS_DATA_FORK)) { if (WARN_ON_ONCE(bi->bi_whichfork != XFS_DATA_FORK)) {
xfs_bmap_mark_sick(bi->bi_owner, bi->bi_whichfork); xfs_bmap_mark_sick(bi->bi_owner, bi->bi_whichfork);
......
...@@ -232,6 +232,10 @@ enum xfs_bmap_intent_type { ...@@ -232,6 +232,10 @@ enum xfs_bmap_intent_type {
XFS_BMAP_UNMAP, XFS_BMAP_UNMAP,
}; };
#define XFS_BMAP_INTENT_STRINGS \
{ XFS_BMAP_MAP, "map" }, \
{ XFS_BMAP_UNMAP, "unmap" }
struct xfs_bmap_intent { struct xfs_bmap_intent {
struct list_head bi_list; struct list_head bi_list;
enum xfs_bmap_intent_type bi_type; enum xfs_bmap_intent_type bi_type;
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include "xfs_iomap.h" #include "xfs_iomap.h"
#include "xfs_buf_mem.h" #include "xfs_buf_mem.h"
#include "xfs_btree_mem.h" #include "xfs_btree_mem.h"
#include "xfs_bmap.h"
/* /*
* We include this last to have the helpers above available for the trace * We include this last to have the helpers above available for the trace
......
...@@ -81,6 +81,7 @@ struct xfs_icwalk; ...@@ -81,6 +81,7 @@ struct xfs_icwalk;
struct xfs_perag; struct xfs_perag;
struct xfbtree; struct xfbtree;
struct xfs_btree_ops; struct xfs_btree_ops;
struct xfs_bmap_intent;
#define XFS_ATTR_FILTER_FLAGS \ #define XFS_ATTR_FILTER_FLAGS \
{ XFS_ATTR_ROOT, "ROOT" }, \ { XFS_ATTR_ROOT, "ROOT" }, \
...@@ -2946,16 +2947,12 @@ DEFINE_RMAPBT_EVENT(xfs_rmap_find_right_neighbor_result); ...@@ -2946,16 +2947,12 @@ DEFINE_RMAPBT_EVENT(xfs_rmap_find_right_neighbor_result);
DEFINE_RMAPBT_EVENT(xfs_rmap_find_left_neighbor_result); DEFINE_RMAPBT_EVENT(xfs_rmap_find_left_neighbor_result);
/* deferred bmbt updates */ /* deferred bmbt updates */
TRACE_DEFINE_ENUM(XFS_BMAP_MAP);
TRACE_DEFINE_ENUM(XFS_BMAP_UNMAP);
DECLARE_EVENT_CLASS(xfs_bmap_deferred_class, DECLARE_EVENT_CLASS(xfs_bmap_deferred_class,
TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, TP_PROTO(struct xfs_bmap_intent *bi),
int op, TP_ARGS(bi),
xfs_agblock_t agbno,
xfs_ino_t ino,
int whichfork,
xfs_fileoff_t offset,
xfs_filblks_t len,
xfs_exntst_t state),
TP_ARGS(mp, agno, op, agbno, ino, whichfork, offset, len, state),
TP_STRUCT__entry( TP_STRUCT__entry(
__field(dev_t, dev) __field(dev_t, dev)
__field(xfs_agnumber_t, agno) __field(xfs_agnumber_t, agno)
...@@ -2968,22 +2965,26 @@ DECLARE_EVENT_CLASS(xfs_bmap_deferred_class, ...@@ -2968,22 +2965,26 @@ DECLARE_EVENT_CLASS(xfs_bmap_deferred_class,
__field(int, op) __field(int, op)
), ),
TP_fast_assign( TP_fast_assign(
__entry->dev = mp->m_super->s_dev; struct xfs_inode *ip = bi->bi_owner;
__entry->agno = agno;
__entry->ino = ino; __entry->dev = ip->i_mount->m_super->s_dev;
__entry->agbno = agbno; __entry->agno = XFS_FSB_TO_AGNO(ip->i_mount,
__entry->whichfork = whichfork; bi->bi_bmap.br_startblock);
__entry->l_loff = offset; __entry->ino = ip->i_ino;
__entry->l_len = len; __entry->agbno = XFS_FSB_TO_AGBNO(ip->i_mount,
__entry->l_state = state; bi->bi_bmap.br_startblock);
__entry->op = op; __entry->whichfork = bi->bi_whichfork;
), __entry->l_loff = bi->bi_bmap.br_startoff;
TP_printk("dev %d:%d op %d agno 0x%x agbno 0x%x owner 0x%llx %s fileoff 0x%llx fsbcount 0x%llx state %d", __entry->l_len = bi->bi_bmap.br_blockcount;
__entry->l_state = bi->bi_bmap.br_state;
__entry->op = bi->bi_type;
),
TP_printk("dev %d:%d op %s ino 0x%llx agno 0x%x agbno 0x%x %s fileoff 0x%llx fsbcount 0x%llx state %d",
MAJOR(__entry->dev), MINOR(__entry->dev), MAJOR(__entry->dev), MINOR(__entry->dev),
__entry->op, __print_symbolic(__entry->op, XFS_BMAP_INTENT_STRINGS),
__entry->ino,
__entry->agno, __entry->agno,
__entry->agbno, __entry->agbno,
__entry->ino,
__print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS), __print_symbolic(__entry->whichfork, XFS_WHICHFORK_STRINGS),
__entry->l_loff, __entry->l_loff,
__entry->l_len, __entry->l_len,
...@@ -2991,15 +2992,8 @@ DECLARE_EVENT_CLASS(xfs_bmap_deferred_class, ...@@ -2991,15 +2992,8 @@ DECLARE_EVENT_CLASS(xfs_bmap_deferred_class,
); );
#define DEFINE_BMAP_DEFERRED_EVENT(name) \ #define DEFINE_BMAP_DEFERRED_EVENT(name) \
DEFINE_EVENT(xfs_bmap_deferred_class, name, \ DEFINE_EVENT(xfs_bmap_deferred_class, name, \
TP_PROTO(struct xfs_mount *mp, xfs_agnumber_t agno, \ TP_PROTO(struct xfs_bmap_intent *bi), \
int op, \ TP_ARGS(bi))
xfs_agblock_t agbno, \
xfs_ino_t ino, \
int whichfork, \
xfs_fileoff_t offset, \
xfs_filblks_t len, \
xfs_exntst_t state), \
TP_ARGS(mp, agno, op, agbno, ino, whichfork, offset, len, state))
DEFINE_BMAP_DEFERRED_EVENT(xfs_bmap_defer); DEFINE_BMAP_DEFERRED_EVENT(xfs_bmap_defer);
DEFINE_BMAP_DEFERRED_EVENT(xfs_bmap_deferred); DEFINE_BMAP_DEFERRED_EVENT(xfs_bmap_deferred);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment