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