xref: /openbmc/linux/include/trace/events/jbd2.h (revision 879c5e6b7cb4c689d08ca9b2e353d8ab3dc425d5)
1*879c5e6bSTheodore Ts'o #if !defined(_TRACE_JBD2_H) || defined(TRACE_HEADER_MULTI_READ)
2*879c5e6bSTheodore Ts'o #define _TRACE_JBD2_H
3*879c5e6bSTheodore Ts'o 
4*879c5e6bSTheodore Ts'o #include <linux/jbd2.h>
5*879c5e6bSTheodore Ts'o #include <linux/tracepoint.h>
6*879c5e6bSTheodore Ts'o 
7*879c5e6bSTheodore Ts'o #undef TRACE_SYSTEM
8*879c5e6bSTheodore Ts'o #define TRACE_SYSTEM jbd2
9*879c5e6bSTheodore Ts'o 
10*879c5e6bSTheodore Ts'o TRACE_EVENT(jbd2_checkpoint,
11*879c5e6bSTheodore Ts'o 
12*879c5e6bSTheodore Ts'o 	TP_PROTO(journal_t *journal, int result),
13*879c5e6bSTheodore Ts'o 
14*879c5e6bSTheodore Ts'o 	TP_ARGS(journal, result),
15*879c5e6bSTheodore Ts'o 
16*879c5e6bSTheodore Ts'o 	TP_STRUCT__entry(
17*879c5e6bSTheodore Ts'o 		__field(	dev_t,	dev			)
18*879c5e6bSTheodore Ts'o 		__field(	int,	result			)
19*879c5e6bSTheodore Ts'o 	),
20*879c5e6bSTheodore Ts'o 
21*879c5e6bSTheodore Ts'o 	TP_fast_assign(
22*879c5e6bSTheodore Ts'o 		__entry->dev		= journal->j_fs_dev->bd_dev;
23*879c5e6bSTheodore Ts'o 		__entry->result		= result;
24*879c5e6bSTheodore Ts'o 	),
25*879c5e6bSTheodore Ts'o 
26*879c5e6bSTheodore Ts'o 	TP_printk("dev %s result %d",
27*879c5e6bSTheodore Ts'o 		  jbd2_dev_to_name(__entry->dev), __entry->result)
28*879c5e6bSTheodore Ts'o );
29*879c5e6bSTheodore Ts'o 
30*879c5e6bSTheodore Ts'o TRACE_EVENT(jbd2_start_commit,
31*879c5e6bSTheodore Ts'o 
32*879c5e6bSTheodore Ts'o 	TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
33*879c5e6bSTheodore Ts'o 
34*879c5e6bSTheodore Ts'o 	TP_ARGS(journal, commit_transaction),
35*879c5e6bSTheodore Ts'o 
36*879c5e6bSTheodore Ts'o 	TP_STRUCT__entry(
37*879c5e6bSTheodore Ts'o 		__field(	dev_t,	dev			)
38*879c5e6bSTheodore Ts'o 		__field(	char,	sync_commit		  )
39*879c5e6bSTheodore Ts'o 		__field(	int,	transaction		  )
40*879c5e6bSTheodore Ts'o 	),
41*879c5e6bSTheodore Ts'o 
42*879c5e6bSTheodore Ts'o 	TP_fast_assign(
43*879c5e6bSTheodore Ts'o 		__entry->dev		= journal->j_fs_dev->bd_dev;
44*879c5e6bSTheodore Ts'o 		__entry->sync_commit = commit_transaction->t_synchronous_commit;
45*879c5e6bSTheodore Ts'o 		__entry->transaction	= commit_transaction->t_tid;
46*879c5e6bSTheodore Ts'o 	),
47*879c5e6bSTheodore Ts'o 
48*879c5e6bSTheodore Ts'o 	TP_printk("dev %s transaction %d sync %d",
49*879c5e6bSTheodore Ts'o 		  jbd2_dev_to_name(__entry->dev), __entry->transaction,
50*879c5e6bSTheodore Ts'o 		  __entry->sync_commit)
51*879c5e6bSTheodore Ts'o );
52*879c5e6bSTheodore Ts'o 
53*879c5e6bSTheodore Ts'o TRACE_EVENT(jbd2_commit_locking,
54*879c5e6bSTheodore Ts'o 
55*879c5e6bSTheodore Ts'o 	TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
56*879c5e6bSTheodore Ts'o 
57*879c5e6bSTheodore Ts'o 	TP_ARGS(journal, commit_transaction),
58*879c5e6bSTheodore Ts'o 
59*879c5e6bSTheodore Ts'o 	TP_STRUCT__entry(
60*879c5e6bSTheodore Ts'o 		__field(	dev_t,	dev			)
61*879c5e6bSTheodore Ts'o 		__field(	char,	sync_commit		  )
62*879c5e6bSTheodore Ts'o 		__field(	int,	transaction		  )
63*879c5e6bSTheodore Ts'o 	),
64*879c5e6bSTheodore Ts'o 
65*879c5e6bSTheodore Ts'o 	TP_fast_assign(
66*879c5e6bSTheodore Ts'o 		__entry->dev		= journal->j_fs_dev->bd_dev;
67*879c5e6bSTheodore Ts'o 		__entry->sync_commit = commit_transaction->t_synchronous_commit;
68*879c5e6bSTheodore Ts'o 		__entry->transaction	= commit_transaction->t_tid;
69*879c5e6bSTheodore Ts'o 	),
70*879c5e6bSTheodore Ts'o 
71*879c5e6bSTheodore Ts'o 	TP_printk("dev %s transaction %d sync %d",
72*879c5e6bSTheodore Ts'o 		  jbd2_dev_to_name(__entry->dev), __entry->transaction,
73*879c5e6bSTheodore Ts'o 		  __entry->sync_commit)
74*879c5e6bSTheodore Ts'o );
75*879c5e6bSTheodore Ts'o 
76*879c5e6bSTheodore Ts'o TRACE_EVENT(jbd2_commit_flushing,
77*879c5e6bSTheodore Ts'o 
78*879c5e6bSTheodore Ts'o 	TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
79*879c5e6bSTheodore Ts'o 
80*879c5e6bSTheodore Ts'o 	TP_ARGS(journal, commit_transaction),
81*879c5e6bSTheodore Ts'o 
82*879c5e6bSTheodore Ts'o 	TP_STRUCT__entry(
83*879c5e6bSTheodore Ts'o 		__field(	dev_t,	dev			)
84*879c5e6bSTheodore Ts'o 		__field(	char,	sync_commit		  )
85*879c5e6bSTheodore Ts'o 		__field(	int,	transaction		  )
86*879c5e6bSTheodore Ts'o 	),
87*879c5e6bSTheodore Ts'o 
88*879c5e6bSTheodore Ts'o 	TP_fast_assign(
89*879c5e6bSTheodore Ts'o 		__entry->dev		= journal->j_fs_dev->bd_dev;
90*879c5e6bSTheodore Ts'o 		__entry->sync_commit = commit_transaction->t_synchronous_commit;
91*879c5e6bSTheodore Ts'o 		__entry->transaction	= commit_transaction->t_tid;
92*879c5e6bSTheodore Ts'o 	),
93*879c5e6bSTheodore Ts'o 
94*879c5e6bSTheodore Ts'o 	TP_printk("dev %s transaction %d sync %d",
95*879c5e6bSTheodore Ts'o 		  jbd2_dev_to_name(__entry->dev), __entry->transaction,
96*879c5e6bSTheodore Ts'o 		  __entry->sync_commit)
97*879c5e6bSTheodore Ts'o );
98*879c5e6bSTheodore Ts'o 
99*879c5e6bSTheodore Ts'o TRACE_EVENT(jbd2_commit_logging,
100*879c5e6bSTheodore Ts'o 
101*879c5e6bSTheodore Ts'o 	TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
102*879c5e6bSTheodore Ts'o 
103*879c5e6bSTheodore Ts'o 	TP_ARGS(journal, commit_transaction),
104*879c5e6bSTheodore Ts'o 
105*879c5e6bSTheodore Ts'o 	TP_STRUCT__entry(
106*879c5e6bSTheodore Ts'o 		__field(	dev_t,	dev			)
107*879c5e6bSTheodore Ts'o 		__field(	char,	sync_commit		  )
108*879c5e6bSTheodore Ts'o 		__field(	int,	transaction		  )
109*879c5e6bSTheodore Ts'o 	),
110*879c5e6bSTheodore Ts'o 
111*879c5e6bSTheodore Ts'o 	TP_fast_assign(
112*879c5e6bSTheodore Ts'o 		__entry->dev		= journal->j_fs_dev->bd_dev;
113*879c5e6bSTheodore Ts'o 		__entry->sync_commit = commit_transaction->t_synchronous_commit;
114*879c5e6bSTheodore Ts'o 		__entry->transaction	= commit_transaction->t_tid;
115*879c5e6bSTheodore Ts'o 	),
116*879c5e6bSTheodore Ts'o 
117*879c5e6bSTheodore Ts'o 	TP_printk("dev %s transaction %d sync %d",
118*879c5e6bSTheodore Ts'o 		  jbd2_dev_to_name(__entry->dev), __entry->transaction,
119*879c5e6bSTheodore Ts'o 		  __entry->sync_commit)
120*879c5e6bSTheodore Ts'o );
121*879c5e6bSTheodore Ts'o 
122*879c5e6bSTheodore Ts'o TRACE_EVENT(jbd2_end_commit,
123*879c5e6bSTheodore Ts'o 	TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
124*879c5e6bSTheodore Ts'o 
125*879c5e6bSTheodore Ts'o 	TP_ARGS(journal, commit_transaction),
126*879c5e6bSTheodore Ts'o 
127*879c5e6bSTheodore Ts'o 	TP_STRUCT__entry(
128*879c5e6bSTheodore Ts'o 		__field(	dev_t,	dev			)
129*879c5e6bSTheodore Ts'o 		__field(	char,	sync_commit		  )
130*879c5e6bSTheodore Ts'o 		__field(	int,	transaction		  )
131*879c5e6bSTheodore Ts'o 		__field(	int,	head		  	  )
132*879c5e6bSTheodore Ts'o 	),
133*879c5e6bSTheodore Ts'o 
134*879c5e6bSTheodore Ts'o 	TP_fast_assign(
135*879c5e6bSTheodore Ts'o 		__entry->dev		= journal->j_fs_dev->bd_dev;
136*879c5e6bSTheodore Ts'o 		__entry->sync_commit = commit_transaction->t_synchronous_commit;
137*879c5e6bSTheodore Ts'o 		__entry->transaction	= commit_transaction->t_tid;
138*879c5e6bSTheodore Ts'o 		__entry->head		= journal->j_tail_sequence;
139*879c5e6bSTheodore Ts'o 	),
140*879c5e6bSTheodore Ts'o 
141*879c5e6bSTheodore Ts'o 	TP_printk("dev %s transaction %d sync %d head %d",
142*879c5e6bSTheodore Ts'o 		  jbd2_dev_to_name(__entry->dev), __entry->transaction,
143*879c5e6bSTheodore Ts'o 		  __entry->sync_commit, __entry->head)
144*879c5e6bSTheodore Ts'o );
145*879c5e6bSTheodore Ts'o 
146*879c5e6bSTheodore Ts'o TRACE_EVENT(jbd2_submit_inode_data,
147*879c5e6bSTheodore Ts'o 	TP_PROTO(struct inode *inode),
148*879c5e6bSTheodore Ts'o 
149*879c5e6bSTheodore Ts'o 	TP_ARGS(inode),
150*879c5e6bSTheodore Ts'o 
151*879c5e6bSTheodore Ts'o 	TP_STRUCT__entry(
152*879c5e6bSTheodore Ts'o 		__field(	dev_t,	dev			)
153*879c5e6bSTheodore Ts'o 		__field(	ino_t,	ino			)
154*879c5e6bSTheodore Ts'o 	),
155*879c5e6bSTheodore Ts'o 
156*879c5e6bSTheodore Ts'o 	TP_fast_assign(
157*879c5e6bSTheodore Ts'o 		__entry->dev	= inode->i_sb->s_dev;
158*879c5e6bSTheodore Ts'o 		__entry->ino	= inode->i_ino;
159*879c5e6bSTheodore Ts'o 	),
160*879c5e6bSTheodore Ts'o 
161*879c5e6bSTheodore Ts'o 	TP_printk("dev %s ino %lu",
162*879c5e6bSTheodore Ts'o 		  jbd2_dev_to_name(__entry->dev), __entry->ino)
163*879c5e6bSTheodore Ts'o );
164*879c5e6bSTheodore Ts'o 
165*879c5e6bSTheodore Ts'o #endif /* _TRACE_JBD2_H */
166*879c5e6bSTheodore Ts'o 
167*879c5e6bSTheodore Ts'o /* This part must be outside protection */
168*879c5e6bSTheodore Ts'o #include <trace/define_trace.h>
169