fix: jbd2: use the correct print format (v5.4.229)
[lttng-modules.git] / include / instrumentation / events / jbd2.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM jbd2
4
5 #if !defined(LTTNG_TRACE_JBD2_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_JBD2_H
7
8 #include <lttng/tracepoint-event.h>
9 #include <linux/jbd2.h>
10 #include <lttng/kernel-version.h>
11
12 #ifndef _TRACE_JBD2_DEF
13 #define _TRACE_JBD2_DEF
14 struct transaction_chp_stats_s;
15 struct transaction_run_stats_s;
16 #endif
17
18 LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint,
19
20 TP_PROTO(journal_t *journal, int result),
21
22 TP_ARGS(journal, result),
23
24 TP_FIELDS(
25 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
26 ctf_integer(int, result, result)
27 )
28 )
29
30 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
31 || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
32 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
33 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
34 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
35 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
36 LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit,
37
38 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
39
40 TP_ARGS(journal, commit_transaction),
41
42 TP_FIELDS(
43 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
44 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
45 ctf_integer(tid_t, transaction, commit_transaction->t_tid)
46 )
47 )
48 #else
49 LTTNG_TRACEPOINT_EVENT_CLASS(jbd2_commit,
50
51 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
52
53 TP_ARGS(journal, commit_transaction),
54
55 TP_FIELDS(
56 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
57 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
58 ctf_integer(int, transaction, commit_transaction->t_tid)
59 )
60 )
61 #endif
62
63 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_start_commit,
64
65 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
66
67 TP_ARGS(journal, commit_transaction)
68 )
69
70 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_locking,
71
72 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
73
74 TP_ARGS(journal, commit_transaction)
75 )
76
77 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_flushing,
78
79 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
80
81 TP_ARGS(journal, commit_transaction)
82 )
83
84 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_commit_logging,
85
86 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
87
88 TP_ARGS(journal, commit_transaction)
89 )
90
91 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0))
92 LTTNG_TRACEPOINT_EVENT_INSTANCE(jbd2_commit, jbd2_drop_transaction,
93
94 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
95
96 TP_ARGS(journal, commit_transaction)
97 )
98 #endif
99
100 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
101 || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
102 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
103 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
104 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
105 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
106 LTTNG_TRACEPOINT_EVENT(jbd2_end_commit,
107 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
108
109 TP_ARGS(journal, commit_transaction),
110
111 TP_FIELDS(
112 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
113 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
114 ctf_integer(tid_t, transaction, commit_transaction->t_tid)
115 ctf_integer(tid_t, head, journal->j_tail_sequence)
116 )
117 )
118 #else
119 LTTNG_TRACEPOINT_EVENT(jbd2_end_commit,
120 TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
121
122 TP_ARGS(journal, commit_transaction),
123
124 TP_FIELDS(
125 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
126 ctf_integer(char, sync_commit, commit_transaction->t_synchronous_commit)
127 ctf_integer(int, transaction, commit_transaction->t_tid)
128 ctf_integer(int, head, journal->j_tail_sequence)
129 )
130 )
131 #endif
132
133 LTTNG_TRACEPOINT_EVENT(jbd2_submit_inode_data,
134 TP_PROTO(struct inode *inode),
135
136 TP_ARGS(inode),
137
138 TP_FIELDS(
139 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
140 ctf_integer(ino_t, ino, inode->i_ino)
141 )
142 )
143
144 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0) \
145 || LTTNG_KERNEL_RANGE(5,4,229, 5,5,0) \
146 || LTTNG_KERNEL_RANGE(5,10,163, 5,11,0) \
147 || LTTNG_KERNEL_RANGE(5,15,87, 5,16,0) \
148 || LTTNG_KERNEL_RANGE(6,0,18, 6,1,0) \
149 || LTTNG_KERNEL_RANGE(6,1,4, 6,2,0))
150 LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
151 TP_PROTO(dev_t dev, tid_t tid,
152 struct transaction_run_stats_s *stats),
153
154 TP_ARGS(dev, tid, stats),
155
156 TP_FIELDS(
157 ctf_integer(dev_t, dev, dev)
158 ctf_integer(tid_t, tid, tid)
159 ctf_integer(unsigned long, wait, stats->rs_wait)
160 ctf_integer(unsigned long, running, stats->rs_running)
161 ctf_integer(unsigned long, locked, stats->rs_locked)
162 ctf_integer(unsigned long, flushing, stats->rs_flushing)
163 ctf_integer(unsigned long, logging, stats->rs_logging)
164 ctf_integer(__u32, handle_count, stats->rs_handle_count)
165 ctf_integer(__u32, blocks, stats->rs_blocks)
166 ctf_integer(__u32, blocks_logged, stats->rs_blocks_logged)
167 )
168 )
169
170 LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
171 TP_PROTO(dev_t dev, tid_t tid,
172 struct transaction_chp_stats_s *stats),
173
174 TP_ARGS(dev, tid, stats),
175
176 TP_FIELDS(
177 ctf_integer(dev_t, dev, dev)
178 ctf_integer(tid_t, tid, tid)
179 ctf_integer(unsigned long, chp_time, stats->cs_chp_time)
180 ctf_integer(__u32, forced_to_close, stats->cs_forced_to_close)
181 ctf_integer(__u32, written, stats->cs_written)
182 ctf_integer(__u32, dropped, stats->cs_dropped)
183 )
184 )
185 #else
186 LTTNG_TRACEPOINT_EVENT(jbd2_run_stats,
187 TP_PROTO(dev_t dev, unsigned long tid,
188 struct transaction_run_stats_s *stats),
189
190 TP_ARGS(dev, tid, stats),
191
192 TP_FIELDS(
193 ctf_integer(dev_t, dev, dev)
194 ctf_integer(unsigned long, tid, tid)
195 ctf_integer(unsigned long, wait, stats->rs_wait)
196 ctf_integer(unsigned long, running, stats->rs_running)
197 ctf_integer(unsigned long, locked, stats->rs_locked)
198 ctf_integer(unsigned long, flushing, stats->rs_flushing)
199 ctf_integer(unsigned long, logging, stats->rs_logging)
200 ctf_integer(__u32, handle_count, stats->rs_handle_count)
201 ctf_integer(__u32, blocks, stats->rs_blocks)
202 ctf_integer(__u32, blocks_logged, stats->rs_blocks_logged)
203 )
204 )
205
206 LTTNG_TRACEPOINT_EVENT(jbd2_checkpoint_stats,
207 TP_PROTO(dev_t dev, unsigned long tid,
208 struct transaction_chp_stats_s *stats),
209
210 TP_ARGS(dev, tid, stats),
211
212 TP_FIELDS(
213 ctf_integer(dev_t, dev, dev)
214 ctf_integer(unsigned long, tid, tid)
215 ctf_integer(unsigned long, chp_time, stats->cs_chp_time)
216 ctf_integer(__u32, forced_to_close, stats->cs_forced_to_close)
217 ctf_integer(__u32, written, stats->cs_written)
218 ctf_integer(__u32, dropped, stats->cs_dropped)
219 )
220 )
221 #endif
222
223 LTTNG_TRACEPOINT_EVENT(jbd2_update_log_tail,
224 TP_PROTO(journal_t *journal, tid_t first_tid,
225 unsigned long block_nr, unsigned long freed),
226
227 TP_ARGS(journal, first_tid, block_nr, freed),
228
229 TP_FIELDS(
230 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
231 ctf_integer(tid_t, tail_sequence, journal->j_tail_sequence)
232 ctf_integer(tid_t, first_tid, first_tid)
233 ctf_integer(unsigned long, block_nr, block_nr)
234 ctf_integer(unsigned long, freed, freed)
235 )
236 )
237
238 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,0,0))
239
240 #ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM
241 LTTNG_TRACEPOINT_ENUM(req_op,
242 TP_ENUM_VALUES(
243 ctf_enum_value("REQ_OP_READ", REQ_OP_READ)
244 ctf_enum_value("REQ_OP_WRITE", REQ_OP_WRITE)
245 ctf_enum_value("REQ_OP_FLUSH", REQ_OP_FLUSH)
246 ctf_enum_value("REQ_OP_DISCARD", REQ_OP_DISCARD)
247 ctf_enum_value("REQ_OP_SECURE_ERASE", REQ_OP_SECURE_ERASE)
248 ctf_enum_value("REQ_OP_WRITE_ZEROES", REQ_OP_WRITE_ZEROES)
249 ctf_enum_value("REQ_OP_ZONE_OPEN", REQ_OP_ZONE_OPEN)
250 ctf_enum_value("REQ_OP_ZONE_CLOSE", REQ_OP_ZONE_CLOSE)
251 ctf_enum_value("REQ_OP_ZONE_FINISH", REQ_OP_ZONE_FINISH)
252 ctf_enum_value("REQ_OP_ZONE_APPEND", REQ_OP_ZONE_APPEND)
253 ctf_enum_value("REQ_OP_ZONE_RESET", REQ_OP_ZONE_RESET)
254 ctf_enum_value("REQ_OP_ZONE_RESET_ALL", REQ_OP_ZONE_RESET_ALL)
255 ctf_enum_value("REQ_OP_DRV_IN", REQ_OP_DRV_IN)
256 ctf_enum_value("REQ_OP_DRV_OUT", REQ_OP_DRV_OUT)
257 ctf_enum_value("REQ_OP_LAST", REQ_OP_LAST)
258 )
259 )
260 #endif /* CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM */
261
262 LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock,
263
264 TP_PROTO(journal_t *journal, blk_opf_t write_flags),
265
266 TP_ARGS(journal, write_flags),
267
268 TP_FIELDS(
269 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
270 #ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM
271 ctf_enum(req_op, blk_opf_t, write_flags, write_flags)
272 #else
273 ctf_integer_hex(blk_opf_t, write_flags, write_flags)
274 #endif
275 )
276 )
277 #else
278 LTTNG_TRACEPOINT_EVENT(jbd2_write_superblock,
279
280 TP_PROTO(journal_t *journal, int write_op),
281
282 TP_ARGS(journal, write_op),
283
284 TP_FIELDS(
285 ctf_integer(dev_t, dev, journal->j_fs_dev->bd_dev)
286 ctf_integer(int, write_op, write_op)
287 )
288 )
289 #endif
290
291 #endif /* LTTNG_TRACE_JBD2_H */
292
293 /* This part must be outside protection */
294 #include <lttng/define_trace.h>
This page took 0.039827 seconds and 4 git commands to generate.