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