xref: /openbmc/linux/include/trace/events/nilfs2.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
258497703SHitoshi Mitake #undef TRACE_SYSTEM
358497703SHitoshi Mitake #define TRACE_SYSTEM nilfs2
458497703SHitoshi Mitake 
558497703SHitoshi Mitake #if !defined(_TRACE_NILFS2_H) || defined(TRACE_HEADER_MULTI_READ)
658497703SHitoshi Mitake #define _TRACE_NILFS2_H
758497703SHitoshi Mitake 
858497703SHitoshi Mitake #include <linux/tracepoint.h>
958497703SHitoshi Mitake 
1058497703SHitoshi Mitake struct nilfs_sc_info;
1158497703SHitoshi Mitake 
1258497703SHitoshi Mitake #define show_collection_stage(type)					\
1358497703SHitoshi Mitake 	__print_symbolic(type,						\
1458497703SHitoshi Mitake 	{ NILFS_ST_INIT, "ST_INIT" },					\
1558497703SHitoshi Mitake 	{ NILFS_ST_GC, "ST_GC" },					\
1658497703SHitoshi Mitake 	{ NILFS_ST_FILE, "ST_FILE" },					\
1758497703SHitoshi Mitake 	{ NILFS_ST_IFILE, "ST_IFILE" },					\
1858497703SHitoshi Mitake 	{ NILFS_ST_CPFILE, "ST_CPFILE" },				\
1958497703SHitoshi Mitake 	{ NILFS_ST_SUFILE, "ST_SUFILE" },				\
2058497703SHitoshi Mitake 	{ NILFS_ST_DAT, "ST_DAT" },					\
2158497703SHitoshi Mitake 	{ NILFS_ST_SR, "ST_SR" },					\
2258497703SHitoshi Mitake 	{ NILFS_ST_DSYNC, "ST_DSYNC" },					\
2358497703SHitoshi Mitake 	{ NILFS_ST_DONE, "ST_DONE"})
2458497703SHitoshi Mitake 
2558497703SHitoshi Mitake TRACE_EVENT(nilfs2_collection_stage_transition,
2658497703SHitoshi Mitake 
2758497703SHitoshi Mitake 	    TP_PROTO(struct nilfs_sc_info *sci),
2858497703SHitoshi Mitake 
2958497703SHitoshi Mitake 	    TP_ARGS(sci),
3058497703SHitoshi Mitake 
3158497703SHitoshi Mitake 	    TP_STRUCT__entry(
3258497703SHitoshi Mitake 		    __field(void *, sci)
3358497703SHitoshi Mitake 		    __field(int, stage)
3458497703SHitoshi Mitake 	    ),
3558497703SHitoshi Mitake 
3658497703SHitoshi Mitake 	    TP_fast_assign(
3758497703SHitoshi Mitake 			__entry->sci = sci;
3858497703SHitoshi Mitake 			__entry->stage = sci->sc_stage.scnt;
3958497703SHitoshi Mitake 		    ),
4058497703SHitoshi Mitake 
4158497703SHitoshi Mitake 	    TP_printk("sci = %p stage = %s",
4258497703SHitoshi Mitake 		      __entry->sci,
4358497703SHitoshi Mitake 		      show_collection_stage(__entry->stage))
4458497703SHitoshi Mitake );
4558497703SHitoshi Mitake 
4644fda114SHitoshi Mitake #ifndef TRACE_HEADER_MULTI_READ
4744fda114SHitoshi Mitake enum nilfs2_transaction_transition_state {
4844fda114SHitoshi Mitake 	TRACE_NILFS2_TRANSACTION_BEGIN,
4944fda114SHitoshi Mitake 	TRACE_NILFS2_TRANSACTION_COMMIT,
5044fda114SHitoshi Mitake 	TRACE_NILFS2_TRANSACTION_ABORT,
5144fda114SHitoshi Mitake 	TRACE_NILFS2_TRANSACTION_TRYLOCK,
5244fda114SHitoshi Mitake 	TRACE_NILFS2_TRANSACTION_LOCK,
5344fda114SHitoshi Mitake 	TRACE_NILFS2_TRANSACTION_UNLOCK,
5444fda114SHitoshi Mitake };
5544fda114SHitoshi Mitake #endif
5644fda114SHitoshi Mitake 
5744fda114SHitoshi Mitake #define show_transaction_state(type)					\
5844fda114SHitoshi Mitake 	__print_symbolic(type,						\
5944fda114SHitoshi Mitake 			 { TRACE_NILFS2_TRANSACTION_BEGIN, "BEGIN" },	\
6044fda114SHitoshi Mitake 			 { TRACE_NILFS2_TRANSACTION_COMMIT, "COMMIT" },	\
6144fda114SHitoshi Mitake 			 { TRACE_NILFS2_TRANSACTION_ABORT, "ABORT" },	\
6244fda114SHitoshi Mitake 			 { TRACE_NILFS2_TRANSACTION_TRYLOCK, "TRYLOCK" }, \
6344fda114SHitoshi Mitake 			 { TRACE_NILFS2_TRANSACTION_LOCK, "LOCK" },	\
6444fda114SHitoshi Mitake 			 { TRACE_NILFS2_TRANSACTION_UNLOCK, "UNLOCK" })
6544fda114SHitoshi Mitake 
6644fda114SHitoshi Mitake TRACE_EVENT(nilfs2_transaction_transition,
6744fda114SHitoshi Mitake 	    TP_PROTO(struct super_block *sb,
6844fda114SHitoshi Mitake 		     struct nilfs_transaction_info *ti,
6944fda114SHitoshi Mitake 		     int count,
7044fda114SHitoshi Mitake 		     unsigned int flags,
7144fda114SHitoshi Mitake 		     enum nilfs2_transaction_transition_state state),
7244fda114SHitoshi Mitake 
7344fda114SHitoshi Mitake 	    TP_ARGS(sb, ti, count, flags, state),
7444fda114SHitoshi Mitake 
7544fda114SHitoshi Mitake 	    TP_STRUCT__entry(
7644fda114SHitoshi Mitake 		    __field(void *, sb)
7744fda114SHitoshi Mitake 		    __field(void *, ti)
7844fda114SHitoshi Mitake 		    __field(int, count)
7944fda114SHitoshi Mitake 		    __field(unsigned int, flags)
8044fda114SHitoshi Mitake 		    __field(int, state)
8144fda114SHitoshi Mitake 	    ),
8244fda114SHitoshi Mitake 
8344fda114SHitoshi Mitake 	    TP_fast_assign(
8444fda114SHitoshi Mitake 		    __entry->sb = sb;
8544fda114SHitoshi Mitake 		    __entry->ti = ti;
8644fda114SHitoshi Mitake 		    __entry->count = count;
8744fda114SHitoshi Mitake 		    __entry->flags = flags;
8844fda114SHitoshi Mitake 		    __entry->state = state;
8944fda114SHitoshi Mitake 		    ),
9044fda114SHitoshi Mitake 
9144fda114SHitoshi Mitake 	    TP_printk("sb = %p ti = %p count = %d flags = %x state = %s",
9244fda114SHitoshi Mitake 		      __entry->sb,
9344fda114SHitoshi Mitake 		      __entry->ti,
9444fda114SHitoshi Mitake 		      __entry->count,
9544fda114SHitoshi Mitake 		      __entry->flags,
9644fda114SHitoshi Mitake 		      show_transaction_state(__entry->state))
9744fda114SHitoshi Mitake );
9844fda114SHitoshi Mitake 
9983eec5e6SHitoshi Mitake TRACE_EVENT(nilfs2_segment_usage_check,
10083eec5e6SHitoshi Mitake 	    TP_PROTO(struct inode *sufile,
10183eec5e6SHitoshi Mitake 		     __u64 segnum,
10283eec5e6SHitoshi Mitake 		     unsigned long cnt),
10383eec5e6SHitoshi Mitake 
10483eec5e6SHitoshi Mitake 	    TP_ARGS(sufile, segnum, cnt),
10583eec5e6SHitoshi Mitake 
10683eec5e6SHitoshi Mitake 	    TP_STRUCT__entry(
10783eec5e6SHitoshi Mitake 		    __field(struct inode *, sufile)
10883eec5e6SHitoshi Mitake 		    __field(__u64, segnum)
10983eec5e6SHitoshi Mitake 		    __field(unsigned long, cnt)
11083eec5e6SHitoshi Mitake 	    ),
11183eec5e6SHitoshi Mitake 
11283eec5e6SHitoshi Mitake 	    TP_fast_assign(
11383eec5e6SHitoshi Mitake 		    __entry->sufile = sufile;
11483eec5e6SHitoshi Mitake 		    __entry->segnum = segnum;
11583eec5e6SHitoshi Mitake 		    __entry->cnt = cnt;
11683eec5e6SHitoshi Mitake 		    ),
11783eec5e6SHitoshi Mitake 
11883eec5e6SHitoshi Mitake 	    TP_printk("sufile = %p segnum = %llu cnt = %lu",
11983eec5e6SHitoshi Mitake 		      __entry->sufile,
12083eec5e6SHitoshi Mitake 		      __entry->segnum,
12183eec5e6SHitoshi Mitake 		      __entry->cnt)
12283eec5e6SHitoshi Mitake );
12383eec5e6SHitoshi Mitake 
12483eec5e6SHitoshi Mitake TRACE_EVENT(nilfs2_segment_usage_allocated,
12583eec5e6SHitoshi Mitake 	    TP_PROTO(struct inode *sufile,
12683eec5e6SHitoshi Mitake 		     __u64 segnum),
12783eec5e6SHitoshi Mitake 
12883eec5e6SHitoshi Mitake 	    TP_ARGS(sufile, segnum),
12983eec5e6SHitoshi Mitake 
13083eec5e6SHitoshi Mitake 	    TP_STRUCT__entry(
13183eec5e6SHitoshi Mitake 		    __field(struct inode *, sufile)
13283eec5e6SHitoshi Mitake 		    __field(__u64, segnum)
13383eec5e6SHitoshi Mitake 	    ),
13483eec5e6SHitoshi Mitake 
13583eec5e6SHitoshi Mitake 	    TP_fast_assign(
13683eec5e6SHitoshi Mitake 		    __entry->sufile = sufile;
13783eec5e6SHitoshi Mitake 		    __entry->segnum = segnum;
13883eec5e6SHitoshi Mitake 		    ),
13983eec5e6SHitoshi Mitake 
14083eec5e6SHitoshi Mitake 	    TP_printk("sufile = %p segnum = %llu",
14183eec5e6SHitoshi Mitake 		      __entry->sufile,
14283eec5e6SHitoshi Mitake 		      __entry->segnum)
14383eec5e6SHitoshi Mitake );
14483eec5e6SHitoshi Mitake 
14583eec5e6SHitoshi Mitake TRACE_EVENT(nilfs2_segment_usage_freed,
14683eec5e6SHitoshi Mitake 	    TP_PROTO(struct inode *sufile,
14783eec5e6SHitoshi Mitake 		     __u64 segnum),
14883eec5e6SHitoshi Mitake 
14983eec5e6SHitoshi Mitake 	    TP_ARGS(sufile, segnum),
15083eec5e6SHitoshi Mitake 
15183eec5e6SHitoshi Mitake 	    TP_STRUCT__entry(
15283eec5e6SHitoshi Mitake 		    __field(struct inode *, sufile)
15383eec5e6SHitoshi Mitake 		    __field(__u64, segnum)
15483eec5e6SHitoshi Mitake 	    ),
15583eec5e6SHitoshi Mitake 
15683eec5e6SHitoshi Mitake 	    TP_fast_assign(
15783eec5e6SHitoshi Mitake 		    __entry->sufile = sufile;
15883eec5e6SHitoshi Mitake 		    __entry->segnum = segnum;
15983eec5e6SHitoshi Mitake 		    ),
16083eec5e6SHitoshi Mitake 
16183eec5e6SHitoshi Mitake 	    TP_printk("sufile = %p segnum = %llu",
16283eec5e6SHitoshi Mitake 		      __entry->sufile,
16383eec5e6SHitoshi Mitake 		      __entry->segnum)
16483eec5e6SHitoshi Mitake );
16583eec5e6SHitoshi Mitake 
166a9cd207cSHitoshi Mitake TRACE_EVENT(nilfs2_mdt_insert_new_block,
167a9cd207cSHitoshi Mitake 	    TP_PROTO(struct inode *inode,
168a9cd207cSHitoshi Mitake 		     unsigned long ino,
169a9cd207cSHitoshi Mitake 		     unsigned long block),
170a9cd207cSHitoshi Mitake 
171a9cd207cSHitoshi Mitake 	    TP_ARGS(inode, ino, block),
172a9cd207cSHitoshi Mitake 
173a9cd207cSHitoshi Mitake 	    TP_STRUCT__entry(
174a9cd207cSHitoshi Mitake 		    __field(struct inode *, inode)
175a9cd207cSHitoshi Mitake 		    __field(unsigned long, ino)
176a9cd207cSHitoshi Mitake 		    __field(unsigned long, block)
177a9cd207cSHitoshi Mitake 	    ),
178a9cd207cSHitoshi Mitake 
179a9cd207cSHitoshi Mitake 	    TP_fast_assign(
180a9cd207cSHitoshi Mitake 		    __entry->inode = inode;
181a9cd207cSHitoshi Mitake 		    __entry->ino = ino;
182a9cd207cSHitoshi Mitake 		    __entry->block = block;
183a9cd207cSHitoshi Mitake 		    ),
184a9cd207cSHitoshi Mitake 
185a9cd207cSHitoshi Mitake 	    TP_printk("inode = %p ino = %lu block = %lu",
186a9cd207cSHitoshi Mitake 		      __entry->inode,
187a9cd207cSHitoshi Mitake 		      __entry->ino,
188a9cd207cSHitoshi Mitake 		      __entry->block)
189a9cd207cSHitoshi Mitake );
190a9cd207cSHitoshi Mitake 
191a9cd207cSHitoshi Mitake TRACE_EVENT(nilfs2_mdt_submit_block,
192a9cd207cSHitoshi Mitake 	    TP_PROTO(struct inode *inode,
193a9cd207cSHitoshi Mitake 		     unsigned long ino,
194a9cd207cSHitoshi Mitake 		     unsigned long blkoff,
195*ed451259SBart Van Assche 		     enum req_op mode),
196a9cd207cSHitoshi Mitake 
197a9cd207cSHitoshi Mitake 	    TP_ARGS(inode, ino, blkoff, mode),
198a9cd207cSHitoshi Mitake 
199a9cd207cSHitoshi Mitake 	    TP_STRUCT__entry(
200a9cd207cSHitoshi Mitake 		    __field(struct inode *, inode)
201a9cd207cSHitoshi Mitake 		    __field(unsigned long, ino)
202a9cd207cSHitoshi Mitake 		    __field(unsigned long, blkoff)
203*ed451259SBart Van Assche 		    __field(enum req_op, mode)
204a9cd207cSHitoshi Mitake 	    ),
205a9cd207cSHitoshi Mitake 
206a9cd207cSHitoshi Mitake 	    TP_fast_assign(
207a9cd207cSHitoshi Mitake 		    __entry->inode = inode;
208a9cd207cSHitoshi Mitake 		    __entry->ino = ino;
209a9cd207cSHitoshi Mitake 		    __entry->blkoff = blkoff;
210a9cd207cSHitoshi Mitake 		    __entry->mode = mode;
211a9cd207cSHitoshi Mitake 		    ),
212a9cd207cSHitoshi Mitake 
213a9cd207cSHitoshi Mitake 	    TP_printk("inode = %p ino = %lu blkoff = %lu mode = %x",
214a9cd207cSHitoshi Mitake 		      __entry->inode,
215a9cd207cSHitoshi Mitake 		      __entry->ino,
216a9cd207cSHitoshi Mitake 		      __entry->blkoff,
217a9cd207cSHitoshi Mitake 		      __entry->mode)
218a9cd207cSHitoshi Mitake );
219a9cd207cSHitoshi Mitake 
22058497703SHitoshi Mitake #endif /* _TRACE_NILFS2_H */
22158497703SHitoshi Mitake 
22258497703SHitoshi Mitake /* This part must be outside protection */
22358497703SHitoshi Mitake #undef TRACE_INCLUDE_FILE
22458497703SHitoshi Mitake #define TRACE_INCLUDE_FILE nilfs2
22558497703SHitoshi Mitake #include <trace/define_trace.h>
226