Fix: support ext4_journal_start on EL 8.4+
[lttng-modules.git] / include / instrumentation / events / ext4.h
CommitLineData
b7cdc182 1/* SPDX-License-Identifier: GPL-2.0-only */
b87700e3
AG
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM ext4
4
3bc29f0a
MD
5#if !defined(LTTNG_TRACE_EXT4_H) || defined(TRACE_HEADER_MULTI_READ)
6#define LTTNG_TRACE_EXT4_H
b87700e3 7
3b4aafcb 8#include <lttng/tracepoint-event.h>
b87700e3 9#include <linux/writeback.h>
5f4c791e 10#include <lttng/kernel-version.h>
b87700e3
AG
11
12#ifndef _TRACE_EXT4_DEF_
13#define _TRACE_EXT4_DEF_
14struct ext4_allocation_context;
15struct ext4_allocation_request;
16struct ext4_prealloc_space;
17struct ext4_inode_info;
18struct mpage_da_data;
19struct ext4_map_blocks;
5f4c791e 20#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,2,0))
b87700e3
AG
21struct ext4_extent;
22#endif
23#endif
24
25#define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
5f4c791e 26#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,1,0))
b87700e3
AG
27#define TP_MODE_T __u16
28#else
29#define TP_MODE_T umode_t
30#endif
31
3bc29f0a 32LTTNG_TRACEPOINT_EVENT(ext4_free_inode,
b87700e3
AG
33 TP_PROTO(struct inode *inode),
34
35 TP_ARGS(inode),
36
f127e61e
MD
37 TP_FIELDS(
38 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
39 ctf_integer(ino_t, ino, inode->i_ino)
5f4c791e 40#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,5,0))
f127e61e
MD
41 ctf_integer(uid_t, uid, i_uid_read(inode))
42 ctf_integer(gid_t, gid, i_gid_read(inode))
b87700e3 43#else
f127e61e
MD
44 ctf_integer(uid_t, uid, inode->i_uid)
45 ctf_integer(gid_t, gid, inode->i_gid)
b87700e3 46#endif
f127e61e
MD
47 ctf_integer(__u64, blocks, inode->i_blocks)
48 ctf_integer(TP_MODE_T, mode, inode->i_mode)
49 )
b87700e3
AG
50)
51
3bc29f0a 52LTTNG_TRACEPOINT_EVENT(ext4_request_inode,
b87700e3
AG
53 TP_PROTO(struct inode *dir, int mode),
54
55 TP_ARGS(dir, mode),
56
f127e61e
MD
57 TP_FIELDS(
58 ctf_integer(dev_t, dev, dir->i_sb->s_dev)
59 ctf_integer(ino_t, dir, dir->i_ino)
60 ctf_integer(TP_MODE_T, mode, mode)
61 )
b87700e3
AG
62)
63
3bc29f0a 64LTTNG_TRACEPOINT_EVENT(ext4_allocate_inode,
b87700e3
AG
65 TP_PROTO(struct inode *inode, struct inode *dir, int mode),
66
67 TP_ARGS(inode, dir, mode),
68
f127e61e
MD
69 TP_FIELDS(
70 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
71 ctf_integer(ino_t, ino, inode->i_ino)
72 ctf_integer(ino_t, dir, dir->i_ino)
73 ctf_integer(TP_MODE_T, mode, mode)
74 )
b87700e3
AG
75)
76
3bc29f0a 77LTTNG_TRACEPOINT_EVENT(ext4_evict_inode,
b87700e3
AG
78 TP_PROTO(struct inode *inode),
79
80 TP_ARGS(inode),
81
f127e61e
MD
82 TP_FIELDS(
83 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
84 ctf_integer(ino_t, ino, inode->i_ino)
85 ctf_integer(int, nlink, inode->i_nlink)
86 )
b87700e3
AG
87)
88
3bc29f0a 89LTTNG_TRACEPOINT_EVENT(ext4_drop_inode,
b87700e3
AG
90 TP_PROTO(struct inode *inode, int drop),
91
92 TP_ARGS(inode, drop),
93
f127e61e
MD
94 TP_FIELDS(
95 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
96 ctf_integer(ino_t, ino, inode->i_ino)
97 ctf_integer(int, drop, drop)
98 )
b87700e3
AG
99)
100
3bc29f0a 101LTTNG_TRACEPOINT_EVENT(ext4_mark_inode_dirty,
b87700e3
AG
102 TP_PROTO(struct inode *inode, unsigned long IP),
103
104 TP_ARGS(inode, IP),
105
f127e61e
MD
106 TP_FIELDS(
107 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
108 ctf_integer(ino_t, ino, inode->i_ino)
2c054599 109 ctf_integer_hex(unsigned long, ip, IP)
f127e61e 110 )
b87700e3
AG
111)
112
3bc29f0a 113LTTNG_TRACEPOINT_EVENT(ext4_begin_ordered_truncate,
b87700e3
AG
114 TP_PROTO(struct inode *inode, loff_t new_size),
115
116 TP_ARGS(inode, new_size),
117
f127e61e
MD
118 TP_FIELDS(
119 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
120 ctf_integer(ino_t, ino, inode->i_ino)
121 ctf_integer(loff_t, new_size, new_size)
122 )
b87700e3 123)
b87700e3 124
b5d1c386
MJ
125#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,19,0))
126LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_begin,
127
128 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len),
129
130 TP_ARGS(inode, pos, len),
131
132 TP_FIELDS(
133 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
134 ctf_integer(ino_t, ino, inode->i_ino)
135 ctf_integer(loff_t, pos, pos)
136 ctf_integer(unsigned int, len, len)
137 )
138)
139
140LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin, ext4_write_begin,
141
142 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len),
143
144 TP_ARGS(inode, pos, len)
145)
146
147LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin, ext4_da_write_begin,
148
149 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len),
150
151 TP_ARGS(inode, pos, len)
152)
153#else
3bc29f0a 154LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_begin,
b87700e3
AG
155
156 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
157 unsigned int flags),
158
159 TP_ARGS(inode, pos, len, flags),
160
f127e61e
MD
161 TP_FIELDS(
162 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
163 ctf_integer(ino_t, ino, inode->i_ino)
164 ctf_integer(loff_t, pos, pos)
165 ctf_integer(unsigned int, len, len)
166 ctf_integer(unsigned int, flags, flags)
167 )
b87700e3
AG
168)
169
3bc29f0a 170LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin, ext4_write_begin,
b87700e3
AG
171
172 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
173 unsigned int flags),
174
175 TP_ARGS(inode, pos, len, flags)
176)
177
3bc29f0a 178LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin, ext4_da_write_begin,
b87700e3
AG
179
180 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
181 unsigned int flags),
182
183 TP_ARGS(inode, pos, len, flags)
184)
b5d1c386 185#endif
b87700e3 186
3bc29f0a 187LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_end,
b87700e3
AG
188 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
189 unsigned int copied),
190
191 TP_ARGS(inode, pos, len, copied),
192
f127e61e
MD
193 TP_FIELDS(
194 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
195 ctf_integer(ino_t, ino, inode->i_ino)
196 ctf_integer(loff_t, pos, pos)
197 ctf_integer(unsigned int, len, len)
198 ctf_integer(unsigned int, copied, copied)
199 )
b87700e3
AG
200)
201
3bc29f0a 202LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end, ext4_ordered_write_end,
b87700e3
AG
203
204 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
205 unsigned int copied),
206
207 TP_ARGS(inode, pos, len, copied)
208)
209
3bc29f0a 210LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end, ext4_writeback_write_end,
b87700e3
AG
211
212 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
213 unsigned int copied),
214
215 TP_ARGS(inode, pos, len, copied)
216)
217
3bc29f0a 218LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end, ext4_journalled_write_end,
b87700e3
AG
219
220 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
221 unsigned int copied),
222
223 TP_ARGS(inode, pos, len, copied)
224)
225
3bc29f0a 226LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end, ext4_da_write_end,
b87700e3
AG
227
228 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
229 unsigned int copied),
230
231 TP_ARGS(inode, pos, len, copied)
232)
233
3bc29f0a 234LTTNG_TRACEPOINT_EVENT(ext4_da_writepages,
b87700e3
AG
235 TP_PROTO(struct inode *inode, struct writeback_control *wbc),
236
237 TP_ARGS(inode, wbc),
238
f127e61e
MD
239 TP_FIELDS(
240 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
241 ctf_integer(ino_t, ino, inode->i_ino)
242 ctf_integer(long, nr_to_write, wbc->nr_to_write)
243 ctf_integer(long, pages_skipped, wbc->pages_skipped)
244 ctf_integer(loff_t, range_start, wbc->range_start)
245 ctf_integer(loff_t, range_end, wbc->range_end)
246 ctf_integer(pgoff_t, writeback_index, inode->i_mapping->writeback_index)
f127e61e 247 ctf_integer(int, sync_mode, wbc->sync_mode)
f127e61e 248 ctf_integer(char, for_kupdate, wbc->for_kupdate)
f127e61e
MD
249 ctf_integer(char, range_cyclic, wbc->range_cyclic)
250 )
b87700e3
AG
251)
252
5f4c791e 253#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
00be8842 254
3bc29f0a 255LTTNG_TRACEPOINT_EVENT(ext4_da_write_pages,
00be8842
MD
256 TP_PROTO(struct inode *inode, pgoff_t first_page,
257 struct writeback_control *wbc),
258
259 TP_ARGS(inode, first_page, wbc),
260
f127e61e
MD
261 TP_FIELDS(
262 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
263 ctf_integer(ino_t, ino, inode->i_ino)
264 ctf_integer(pgoff_t, first_page, first_page)
265 ctf_integer(long, nr_to_write, wbc->nr_to_write)
266 ctf_integer(int, sync_mode, wbc->sync_mode)
267 )
00be8842
MD
268)
269
270#else
271
3bc29f0a 272LTTNG_TRACEPOINT_EVENT(ext4_da_write_pages,
b87700e3
AG
273 TP_PROTO(struct inode *inode, struct mpage_da_data *mpd),
274
275 TP_ARGS(inode, mpd),
276
f127e61e
MD
277 TP_FIELDS(
278 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
279 ctf_integer(ino_t, ino, inode->i_ino)
280 ctf_integer(__u64, b_blocknr, mpd->b_blocknr)
281 ctf_integer(__u32, b_size, mpd->b_size)
282 ctf_integer(__u32, b_state, mpd->b_state)
283 ctf_integer(unsigned long, first_page, mpd->first_page)
284 ctf_integer(int, io_done, mpd->io_done)
285 ctf_integer(int, pages_written, mpd->pages_written)
7e626201 286 ctf_integer(int, sync_mode, mpd->wbc->sync_mode)
f127e61e 287 )
b87700e3
AG
288)
289
00be8842
MD
290#endif
291
5f4c791e 292#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
c1b29b59 293
3bc29f0a 294LTTNG_TRACEPOINT_EVENT(ext4_da_write_pages_extent,
c1b29b59
MD
295 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map),
296
297 TP_ARGS(inode, map),
298
f127e61e
MD
299 TP_FIELDS(
300 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
301 ctf_integer(ino_t, ino, inode->i_ino)
302 ctf_integer(__u64, lblk, map->m_lblk)
303 ctf_integer(__u32, len, map->m_len)
304 ctf_integer(__u32, flags, map->m_flags)
305 )
c1b29b59
MD
306)
307
308#endif
309
3bc29f0a 310LTTNG_TRACEPOINT_EVENT(ext4_da_writepages_result,
b87700e3
AG
311 TP_PROTO(struct inode *inode, struct writeback_control *wbc,
312 int ret, int pages_written),
313
314 TP_ARGS(inode, wbc, ret, pages_written),
315
f127e61e
MD
316 TP_FIELDS(
317 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
318 ctf_integer(ino_t, ino, inode->i_ino)
319 ctf_integer(int, ret, ret)
320 ctf_integer(int, pages_written, pages_written)
321 ctf_integer(long, pages_skipped, wbc->pages_skipped)
322 ctf_integer(pgoff_t, writeback_index, inode->i_mapping->writeback_index)
f127e61e 323 ctf_integer(int, sync_mode, wbc->sync_mode)
f127e61e 324 )
b87700e3
AG
325)
326
3bc29f0a 327LTTNG_TRACEPOINT_EVENT_CLASS(ext4__page_op,
b87700e3
AG
328 TP_PROTO(struct page *page),
329
330 TP_ARGS(page),
331
f127e61e
MD
332 TP_FIELDS(
333 ctf_integer(dev_t, dev, page->mapping->host->i_sb->s_dev)
334 ctf_integer(ino_t, ino, page->mapping->host->i_ino)
335 ctf_integer(pgoff_t, index, page->index)
336 )
b87700e3
AG
337)
338
3bc29f0a 339LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op, ext4_writepage,
b87700e3
AG
340
341 TP_PROTO(struct page *page),
342
343 TP_ARGS(page)
344)
b87700e3 345
3bc29f0a 346LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op, ext4_readpage,
b87700e3
AG
347
348 TP_PROTO(struct page *page),
349
350 TP_ARGS(page)
351)
352
3bc29f0a 353LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op, ext4_releasepage,
b87700e3
AG
354
355 TP_PROTO(struct page *page),
356
357 TP_ARGS(page)
358)
359
5f4c791e 360#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
00be8842 361
3bc29f0a 362LTTNG_TRACEPOINT_EVENT_CLASS(ext4_invalidatepage_op,
00be8842
MD
363 TP_PROTO(struct page *page, unsigned int offset, unsigned int length),
364
365 TP_ARGS(page, offset, length),
366
f127e61e
MD
367 TP_FIELDS(
368 ctf_integer(dev_t, dev, page->mapping->host->i_sb->s_dev)
369 ctf_integer(ino_t, ino, page->mapping->host->i_ino)
370 ctf_integer(pgoff_t, index, page->index)
371 ctf_integer(unsigned int, offset, offset)
372 ctf_integer(unsigned int, length, length)
373 )
00be8842
MD
374)
375
3bc29f0a 376LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4_invalidatepage_op, ext4_invalidatepage,
00be8842
MD
377 TP_PROTO(struct page *page, unsigned int offset, unsigned int length),
378
379 TP_ARGS(page, offset, length)
380)
381
3bc29f0a 382LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4_invalidatepage_op, ext4_journalled_invalidatepage,
00be8842
MD
383 TP_PROTO(struct page *page, unsigned int offset, unsigned int length),
384
385 TP_ARGS(page, offset, length)
386)
387
388#else
389
3bc29f0a 390LTTNG_TRACEPOINT_EVENT(ext4_invalidatepage,
b87700e3
AG
391 TP_PROTO(struct page *page, unsigned long offset),
392
393 TP_ARGS(page, offset),
394
f127e61e
MD
395 TP_FIELDS(
396 ctf_integer(dev_t, dev, page->mapping->host->i_sb->s_dev)
397 ctf_integer(ino_t, ino, page->mapping->host->i_ino)
398 ctf_integer(pgoff_t, index, page->index)
399 ctf_integer(unsigned long, offset, offset)
b87700e3 400
f127e61e 401 )
b87700e3 402)
00be8842
MD
403
404#endif
405
3bc29f0a 406LTTNG_TRACEPOINT_EVENT(ext4_discard_blocks,
b87700e3
AG
407 TP_PROTO(struct super_block *sb, unsigned long long blk,
408 unsigned long long count),
409
410 TP_ARGS(sb, blk, count),
411
f127e61e
MD
412 TP_FIELDS(
413 ctf_integer(dev_t, dev, sb->s_dev)
414 ctf_integer(__u64, blk, blk)
415 ctf_integer(__u64, count, count)
416 )
b87700e3
AG
417)
418
3bc29f0a 419LTTNG_TRACEPOINT_EVENT_CLASS(ext4__mb_new_pa,
b87700e3
AG
420 TP_PROTO(struct ext4_allocation_context *ac,
421 struct ext4_prealloc_space *pa),
422
423 TP_ARGS(ac, pa),
424
f127e61e
MD
425 TP_FIELDS(
426 ctf_integer(dev_t, dev, ac->ac_sb->s_dev)
427 ctf_integer(ino_t, ino, ac->ac_inode->i_ino)
428 ctf_integer(__u64, pa_pstart, pa->pa_pstart)
429 ctf_integer(__u64, pa_lstart, pa->pa_lstart)
430 ctf_integer(__u32, pa_len, pa->pa_len)
431 )
b87700e3
AG
432)
433
3bc29f0a 434LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mb_new_pa, ext4_mb_new_inode_pa,
b87700e3
AG
435
436 TP_PROTO(struct ext4_allocation_context *ac,
437 struct ext4_prealloc_space *pa),
438
439 TP_ARGS(ac, pa)
440)
441
3bc29f0a 442LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mb_new_pa, ext4_mb_new_group_pa,
b87700e3
AG
443
444 TP_PROTO(struct ext4_allocation_context *ac,
445 struct ext4_prealloc_space *pa),
446
447 TP_ARGS(ac, pa)
448)
449
3bc29f0a 450LTTNG_TRACEPOINT_EVENT(ext4_mb_release_inode_pa,
b87700e3 451 TP_PROTO(
b87700e3
AG
452 struct ext4_prealloc_space *pa,
453 unsigned long long block, unsigned int count),
454
b87700e3 455 TP_ARGS(pa, block, count),
b87700e3 456
f127e61e 457 TP_FIELDS(
f127e61e
MD
458 ctf_integer(dev_t, dev, pa->pa_inode->i_sb->s_dev)
459 ctf_integer(ino_t, ino, pa->pa_inode->i_ino)
f127e61e
MD
460 ctf_integer(__u64, block, block)
461 ctf_integer(__u32, count, count)
462 )
b87700e3
AG
463)
464
5f4c791e 465#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,3,0))
3bc29f0a 466LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa,
b87700e3 467
b87700e3
AG
468 TP_PROTO(struct super_block *sb, struct ext4_prealloc_space *pa),
469
470 TP_ARGS(sb, pa),
b87700e3 471
aa71c949
MJ
472 TP_FIELDS(
473 ctf_integer(dev_t, dev, sb->s_dev)
474 ctf_integer(__u64, pa_pstart, pa->pa_pstart)
475 ctf_integer(__u32, pa_len, pa->pa_len)
476 )
477)
b87700e3 478#else
aa71c949 479LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa,
b87700e3 480
aa71c949
MJ
481 TP_PROTO(struct ext4_prealloc_space *pa),
482
483 TP_ARGS(pa),
b87700e3 484
f127e61e 485 TP_FIELDS(
f127e61e 486 ctf_integer(dev_t, dev, pa->pa_inode->i_sb->s_dev)
f127e61e
MD
487 ctf_integer(__u64, pa_pstart, pa->pa_pstart)
488 ctf_integer(__u32, pa_len, pa->pa_len)
489 )
b87700e3 490)
aa71c949 491#endif
b87700e3 492
d988f04a
KS
493#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
494LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
495 TP_PROTO(struct inode *inode, unsigned int len),
496
497 TP_ARGS(inode, len),
498
499 TP_FIELDS(
500 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
501 ctf_integer(ino_t, ino, inode->i_ino)
502 ctf_integer(unsigned int, len, len)
503 )
504)
505#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0) || \
b6af46d1 506 LTTNG_KERNEL_RANGE(5,8,6, 5,9,0))
347a7ba0
MJ
507LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
508 TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed),
509
510 TP_ARGS(inode, len, needed),
511
512 TP_FIELDS(
513 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
514 ctf_integer(ino_t, ino, inode->i_ino)
515 ctf_integer(unsigned int, len, len)
516 ctf_integer(unsigned int, needed, needed)
517 )
518)
519#else
3bc29f0a 520LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
b87700e3
AG
521 TP_PROTO(struct inode *inode),
522
523 TP_ARGS(inode),
524
f127e61e
MD
525 TP_FIELDS(
526 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
527 ctf_integer(ino_t, ino, inode->i_ino)
528 )
b87700e3 529)
347a7ba0 530#endif
b87700e3 531
3bc29f0a 532LTTNG_TRACEPOINT_EVENT(ext4_mb_discard_preallocations,
b87700e3
AG
533 TP_PROTO(struct super_block *sb, int needed),
534
535 TP_ARGS(sb, needed),
536
f127e61e
MD
537 TP_FIELDS(
538 ctf_integer(dev_t, dev, sb->s_dev)
539 ctf_integer(int, needed, needed)
540 )
b87700e3
AG
541)
542
3bc29f0a 543LTTNG_TRACEPOINT_EVENT(ext4_request_blocks,
b87700e3
AG
544 TP_PROTO(struct ext4_allocation_request *ar),
545
546 TP_ARGS(ar),
547
f127e61e
MD
548 TP_FIELDS(
549 ctf_integer(dev_t, dev, ar->inode->i_sb->s_dev)
550 ctf_integer(ino_t, ino, ar->inode->i_ino)
551 ctf_integer(unsigned int, len, ar->len)
552 ctf_integer(__u32, logical, ar->logical)
553 ctf_integer(__u32, lleft, ar->lleft)
554 ctf_integer(__u32, lright, ar->lright)
555 ctf_integer(__u64, goal, ar->goal)
556 ctf_integer(__u64, pleft, ar->pleft)
557 ctf_integer(__u64, pright, ar->pright)
558 ctf_integer(unsigned int, flags, ar->flags)
559 )
b87700e3
AG
560)
561
3bc29f0a 562LTTNG_TRACEPOINT_EVENT(ext4_allocate_blocks,
b87700e3
AG
563 TP_PROTO(struct ext4_allocation_request *ar, unsigned long long block),
564
565 TP_ARGS(ar, block),
566
f127e61e
MD
567 TP_FIELDS(
568 ctf_integer(dev_t, dev, ar->inode->i_sb->s_dev)
569 ctf_integer(ino_t, ino, ar->inode->i_ino)
570 ctf_integer(__u64, block, block)
571 ctf_integer(unsigned int, len, ar->len)
572 ctf_integer(__u32, logical, ar->logical)
573 ctf_integer(__u32, lleft, ar->lleft)
574 ctf_integer(__u32, lright, ar->lright)
575 ctf_integer(__u64, goal, ar->goal)
576 ctf_integer(__u64, pleft, ar->pleft)
577 ctf_integer(__u64, pright, ar->pright)
578 ctf_integer(unsigned int, flags, ar->flags)
579 )
b87700e3
AG
580)
581
3bc29f0a 582LTTNG_TRACEPOINT_EVENT(ext4_free_blocks,
b87700e3
AG
583 TP_PROTO(struct inode *inode, __u64 block, unsigned long count,
584 int flags),
585
586 TP_ARGS(inode, block, count, flags),
b87700e3 587
f127e61e
MD
588 TP_FIELDS(
589 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
590 ctf_integer(ino_t, ino, inode->i_ino)
591 ctf_integer(__u64, block, block)
592 ctf_integer(unsigned long, count, count)
f127e61e
MD
593 ctf_integer(int, flags, flags)
594 ctf_integer(TP_MODE_T, mode, inode->i_mode)
f127e61e 595 )
b87700e3
AG
596)
597
3bc29f0a 598LTTNG_TRACEPOINT_EVENT(ext4_sync_file_enter,
b87700e3
AG
599 TP_PROTO(struct file *file, int datasync),
600
601 TP_ARGS(file, datasync),
b87700e3 602
f127e61e 603 TP_FIELDS(
f127e61e
MD
604 ctf_integer(dev_t, dev, file->f_path.dentry->d_inode->i_sb->s_dev)
605 ctf_integer(ino_t, ino, file->f_path.dentry->d_inode->i_ino)
606 ctf_integer(ino_t, parent, file->f_path.dentry->d_parent->d_inode->i_ino)
f127e61e
MD
607 ctf_integer(int, datasync, datasync)
608 )
b87700e3
AG
609)
610
3bc29f0a 611LTTNG_TRACEPOINT_EVENT(ext4_sync_file_exit,
b87700e3
AG
612 TP_PROTO(struct inode *inode, int ret),
613
614 TP_ARGS(inode, ret),
615
f127e61e
MD
616 TP_FIELDS(
617 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
618 ctf_integer(ino_t, ino, inode->i_ino)
619 ctf_integer(int, ret, ret)
620 )
b87700e3 621)
b87700e3 622
3bc29f0a 623LTTNG_TRACEPOINT_EVENT(ext4_sync_fs,
b87700e3
AG
624 TP_PROTO(struct super_block *sb, int wait),
625
626 TP_ARGS(sb, wait),
627
f127e61e
MD
628 TP_FIELDS(
629 ctf_integer(dev_t, dev, sb->s_dev)
630 ctf_integer(int, wait, wait)
b87700e3 631
f127e61e 632 )
b87700e3
AG
633)
634
5f4c791e 635#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0))
cf101116
MJ
636LTTNG_TRACEPOINT_EVENT(ext4_alloc_da_blocks,
637 TP_PROTO(struct inode *inode),
638
639 TP_ARGS(inode),
640
641 TP_FIELDS(
642 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
643 ctf_integer(ino_t, ino, inode->i_ino)
644 ctf_integer(unsigned int, data_blocks, EXT4_I(inode)->i_reserved_data_blocks)
645 )
646)
647#else
3bc29f0a 648LTTNG_TRACEPOINT_EVENT(ext4_alloc_da_blocks,
b87700e3
AG
649 TP_PROTO(struct inode *inode),
650
651 TP_ARGS(inode),
652
f127e61e
MD
653 TP_FIELDS(
654 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
655 ctf_integer(ino_t, ino, inode->i_ino)
656 ctf_integer(unsigned int, data_blocks, EXT4_I(inode)->i_reserved_data_blocks)
657 ctf_integer(unsigned int, meta_blocks, EXT4_I(inode)->i_reserved_meta_blocks)
658 )
b87700e3 659)
cf101116 660#endif
b87700e3 661
3bc29f0a 662LTTNG_TRACEPOINT_EVENT(ext4_mballoc_alloc,
b87700e3
AG
663 TP_PROTO(struct ext4_allocation_context *ac),
664
665 TP_ARGS(ac),
666
f127e61e
MD
667 TP_FIELDS(
668 ctf_integer(dev_t, dev, ac->ac_inode->i_sb->s_dev)
669 ctf_integer(ino_t, ino, ac->ac_inode->i_ino)
670 ctf_integer(__u32, orig_logical, ac->ac_o_ex.fe_logical)
671 ctf_integer(int, orig_start, ac->ac_o_ex.fe_start)
672 ctf_integer(__u32, orig_group, ac->ac_o_ex.fe_group)
673 ctf_integer(int, orig_len, ac->ac_o_ex.fe_len)
674 ctf_integer(__u32, goal_logical, ac->ac_g_ex.fe_logical)
675 ctf_integer(int, goal_start, ac->ac_g_ex.fe_start)
676 ctf_integer(__u32, goal_group, ac->ac_g_ex.fe_group)
677 ctf_integer(int, goal_len, ac->ac_g_ex.fe_len)
678 ctf_integer(__u32, result_logical, ac->ac_f_ex.fe_logical)
679 ctf_integer(int, result_start, ac->ac_f_ex.fe_start)
680 ctf_integer(__u32, result_group, ac->ac_f_ex.fe_group)
681 ctf_integer(int, result_len, ac->ac_f_ex.fe_len)
682 ctf_integer(__u16, found, ac->ac_found)
683 ctf_integer(__u16, groups, ac->ac_groups_scanned)
684 ctf_integer(__u16, buddy, ac->ac_buddy)
685 ctf_integer(__u16, flags, ac->ac_flags)
686 ctf_integer(__u16, tail, ac->ac_tail)
687 ctf_integer(__u8, cr, ac->ac_criteria)
688 )
b87700e3
AG
689)
690
3bc29f0a 691LTTNG_TRACEPOINT_EVENT(ext4_mballoc_prealloc,
b87700e3
AG
692 TP_PROTO(struct ext4_allocation_context *ac),
693
694 TP_ARGS(ac),
695
f127e61e
MD
696 TP_FIELDS(
697 ctf_integer(dev_t, dev, ac->ac_inode->i_sb->s_dev)
698 ctf_integer(ino_t, ino, ac->ac_inode->i_ino)
699 ctf_integer(__u32, orig_logical, ac->ac_o_ex.fe_logical)
700 ctf_integer(int, orig_start, ac->ac_o_ex.fe_start)
701 ctf_integer(__u32, orig_group, ac->ac_o_ex.fe_group)
702 ctf_integer(int, orig_len, ac->ac_o_ex.fe_len)
703 ctf_integer(__u32, result_logical, ac->ac_b_ex.fe_logical)
704 ctf_integer(int, result_start, ac->ac_b_ex.fe_start)
705 ctf_integer(__u32, result_group, ac->ac_b_ex.fe_group)
706 ctf_integer(int, result_len, ac->ac_b_ex.fe_len)
707 )
b87700e3
AG
708)
709
3bc29f0a 710LTTNG_TRACEPOINT_EVENT_CLASS(ext4__mballoc,
b87700e3
AG
711 TP_PROTO(struct super_block *sb,
712 struct inode *inode,
713 ext4_group_t group,
714 ext4_grpblk_t start,
715 ext4_grpblk_t len),
716
717 TP_ARGS(sb, inode, group, start, len),
b87700e3 718
f127e61e 719 TP_FIELDS(
f127e61e
MD
720 ctf_integer(dev_t, dev, sb->s_dev)
721 ctf_integer(ino_t, ino, inode ? inode->i_ino : 0)
722 ctf_integer(int, result_start, start)
723 ctf_integer(__u32, result_group, group)
724 ctf_integer(int, result_len, len)
b87700e3
AG
725 )
726)
727
3bc29f0a 728LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc, ext4_mballoc_discard,
b87700e3 729
b87700e3
AG
730 TP_PROTO(struct super_block *sb,
731 struct inode *inode,
732 ext4_group_t group,
733 ext4_grpblk_t start,
734 ext4_grpblk_t len),
735
736 TP_ARGS(sb, inode, group, start, len)
b87700e3
AG
737)
738
3bc29f0a 739LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc, ext4_mballoc_free,
b87700e3 740
b87700e3
AG
741 TP_PROTO(struct super_block *sb,
742 struct inode *inode,
743 ext4_group_t group,
744 ext4_grpblk_t start,
745 ext4_grpblk_t len),
746
747 TP_ARGS(sb, inode, group, start, len)
b87700e3
AG
748)
749
3bc29f0a 750LTTNG_TRACEPOINT_EVENT(ext4_forget,
b87700e3
AG
751 TP_PROTO(struct inode *inode, int is_metadata, __u64 block),
752
753 TP_ARGS(inode, is_metadata, block),
754
f127e61e
MD
755 TP_FIELDS(
756 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
757 ctf_integer(ino_t, ino, inode->i_ino)
758 ctf_integer(__u64, block, block)
759 ctf_integer(int, is_metadata, is_metadata)
760 ctf_integer(TP_MODE_T, mode, inode->i_mode)
761 )
b87700e3 762)
b87700e3 763
5f4c791e 764#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0))
3bc29f0a 765LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space,
b87700e3
AG
766 TP_PROTO(struct inode *inode, int used_blocks, int quota_claim),
767
768 TP_ARGS(inode, used_blocks, quota_claim),
cf101116
MJ
769
770 TP_FIELDS(
771 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
772 ctf_integer(ino_t, ino, inode->i_ino)
773 ctf_integer(__u64, i_blocks, inode->i_blocks)
774 ctf_integer(int, used_blocks, used_blocks)
775 ctf_integer(int, reserved_data_blocks,
776 EXT4_I(inode)->i_reserved_data_blocks)
777 ctf_integer(int, quota_claim, quota_claim)
778 ctf_integer(TP_MODE_T, mode, inode->i_mode)
779 )
780)
5f4c791e 781#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,2,0))
cf101116
MJ
782LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space,
783 TP_PROTO(struct inode *inode, int used_blocks, int quota_claim),
784
785 TP_ARGS(inode, used_blocks, quota_claim),
786
787 TP_FIELDS(
788 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
789 ctf_integer(ino_t, ino, inode->i_ino)
790 ctf_integer(__u64, i_blocks, inode->i_blocks)
791 ctf_integer(int, used_blocks, used_blocks)
792 ctf_integer(int, reserved_data_blocks,
793 EXT4_I(inode)->i_reserved_data_blocks)
794 ctf_integer(int, reserved_meta_blocks,
795 EXT4_I(inode)->i_reserved_meta_blocks)
796 ctf_integer(int, allocated_meta_blocks,
797 EXT4_I(inode)->i_allocated_meta_blocks)
798 ctf_integer(int, quota_claim, quota_claim)
799 ctf_integer(TP_MODE_T, mode, inode->i_mode)
800 )
801)
aa71c949 802#else
cf101116 803LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space,
b87700e3
AG
804 TP_PROTO(struct inode *inode, int used_blocks),
805
806 TP_ARGS(inode, used_blocks),
b87700e3 807
f127e61e
MD
808 TP_FIELDS(
809 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
810 ctf_integer(ino_t, ino, inode->i_ino)
811 ctf_integer(__u64, i_blocks, inode->i_blocks)
812 ctf_integer(int, used_blocks, used_blocks)
813 ctf_integer(int, reserved_data_blocks,
b87700e3 814 EXT4_I(inode)->i_reserved_data_blocks)
f127e61e 815 ctf_integer(int, reserved_meta_blocks,
b87700e3 816 EXT4_I(inode)->i_reserved_meta_blocks)
f127e61e 817 ctf_integer(int, allocated_meta_blocks,
b87700e3 818 EXT4_I(inode)->i_allocated_meta_blocks)
f127e61e
MD
819 ctf_integer(TP_MODE_T, mode, inode->i_mode)
820 )
b87700e3 821)
cf101116 822#endif
b87700e3 823
5f4c791e 824#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0))
cf101116
MJ
825LTTNG_TRACEPOINT_EVENT(ext4_da_reserve_space,
826 TP_PROTO(struct inode *inode),
827
828 TP_ARGS(inode),
829
830 TP_FIELDS(
831 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
832 ctf_integer(ino_t, ino, inode->i_ino)
833 ctf_integer(__u64, i_blocks, inode->i_blocks)
834 ctf_integer(int, reserved_data_blocks,
835 EXT4_I(inode)->i_reserved_data_blocks)
836 ctf_integer(TP_MODE_T, mode, inode->i_mode)
837 )
838)
5f4c791e 839#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,2,0))
5780f1e8
MD
840LTTNG_TRACEPOINT_EVENT(ext4_da_reserve_space,
841 TP_PROTO(struct inode *inode),
842
843 TP_ARGS(inode),
844
845 TP_FIELDS(
846 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
847 ctf_integer(ino_t, ino, inode->i_ino)
848 ctf_integer(__u64, i_blocks, inode->i_blocks)
849 ctf_integer(int, reserved_data_blocks,
850 EXT4_I(inode)->i_reserved_data_blocks)
851 ctf_integer(int, reserved_meta_blocks,
852 EXT4_I(inode)->i_reserved_meta_blocks)
853 ctf_integer(TP_MODE_T, mode, inode->i_mode)
854 )
855)
aa71c949 856#else
3bc29f0a 857LTTNG_TRACEPOINT_EVENT(ext4_da_reserve_space,
b87700e3
AG
858 TP_PROTO(struct inode *inode, int md_needed),
859
860 TP_ARGS(inode, md_needed),
861
f127e61e
MD
862 TP_FIELDS(
863 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
864 ctf_integer(ino_t, ino, inode->i_ino)
865 ctf_integer(__u64, i_blocks, inode->i_blocks)
866 ctf_integer(int, md_needed, md_needed)
867 ctf_integer(int, reserved_data_blocks,
b87700e3 868 EXT4_I(inode)->i_reserved_data_blocks)
f127e61e 869 ctf_integer(int, reserved_meta_blocks,
b87700e3 870 EXT4_I(inode)->i_reserved_meta_blocks)
f127e61e
MD
871 ctf_integer(TP_MODE_T, mode, inode->i_mode)
872 )
b87700e3 873)
cf101116
MJ
874#endif
875
5f4c791e 876#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0))
cf101116
MJ
877LTTNG_TRACEPOINT_EVENT(ext4_da_release_space,
878 TP_PROTO(struct inode *inode, int freed_blocks),
879
880 TP_ARGS(inode, freed_blocks),
b87700e3 881
cf101116
MJ
882 TP_FIELDS(
883 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
884 ctf_integer(ino_t, ino, inode->i_ino)
885 ctf_integer(__u64, i_blocks, inode->i_blocks)
886 ctf_integer(int, freed_blocks, freed_blocks)
887 ctf_integer(int, reserved_data_blocks,
888 EXT4_I(inode)->i_reserved_data_blocks)
889 ctf_integer(TP_MODE_T, mode, inode->i_mode)
890 )
891)
aa71c949 892#else
3bc29f0a 893LTTNG_TRACEPOINT_EVENT(ext4_da_release_space,
b87700e3
AG
894 TP_PROTO(struct inode *inode, int freed_blocks),
895
896 TP_ARGS(inode, freed_blocks),
897
f127e61e
MD
898 TP_FIELDS(
899 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
900 ctf_integer(ino_t, ino, inode->i_ino)
901 ctf_integer(__u64, i_blocks, inode->i_blocks)
902 ctf_integer(int, freed_blocks, freed_blocks)
903 ctf_integer(int, reserved_data_blocks,
b87700e3 904 EXT4_I(inode)->i_reserved_data_blocks)
f127e61e 905 ctf_integer(int, reserved_meta_blocks,
b87700e3 906 EXT4_I(inode)->i_reserved_meta_blocks)
f127e61e 907 ctf_integer(int, allocated_meta_blocks,
b87700e3 908 EXT4_I(inode)->i_allocated_meta_blocks)
f127e61e
MD
909 ctf_integer(TP_MODE_T, mode, inode->i_mode)
910 )
b87700e3
AG
911)
912#endif
913
3bc29f0a 914LTTNG_TRACEPOINT_EVENT_CLASS(ext4__bitmap_load,
b87700e3
AG
915 TP_PROTO(struct super_block *sb, unsigned long group),
916
917 TP_ARGS(sb, group),
918
f127e61e
MD
919 TP_FIELDS(
920 ctf_integer(dev_t, dev, sb->s_dev)
921 ctf_integer(__u32, group, group)
922 )
b87700e3
AG
923)
924
3bc29f0a 925LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_mb_bitmap_load,
b87700e3
AG
926
927 TP_PROTO(struct super_block *sb, unsigned long group),
928
929 TP_ARGS(sb, group)
930)
931
3bc29f0a 932LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_mb_buddy_bitmap_load,
b87700e3
AG
933
934 TP_PROTO(struct super_block *sb, unsigned long group),
935
936 TP_ARGS(sb, group)
937)
b87700e3 938
5f4c791e 939#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0))
20e546d0
MJ
940LTTNG_TRACEPOINT_EVENT(ext4_read_block_bitmap_load,
941 TP_PROTO(struct super_block *sb, unsigned long group, bool prefetch),
942
943 TP_ARGS(sb, group, prefetch),
944
945 TP_FIELDS(
946 ctf_integer(dev_t, dev, sb->s_dev)
947 ctf_integer(__u32, group, group)
948 ctf_integer(bool, prefetch, prefetch)
949 )
950)
951#else
3bc29f0a 952LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_read_block_bitmap_load,
b87700e3
AG
953
954 TP_PROTO(struct super_block *sb, unsigned long group),
955
956 TP_ARGS(sb, group)
957)
20e546d0 958#endif
b87700e3 959
3bc29f0a 960LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_load_inode_bitmap,
b87700e3
AG
961
962 TP_PROTO(struct super_block *sb, unsigned long group),
963
964 TP_ARGS(sb, group)
965)
966
3bc29f0a 967LTTNG_TRACEPOINT_EVENT(ext4_direct_IO_enter,
b87700e3
AG
968 TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw),
969
970 TP_ARGS(inode, offset, len, rw),
971
f127e61e
MD
972 TP_FIELDS(
973 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
974 ctf_integer(ino_t, ino, inode->i_ino)
975 ctf_integer(loff_t, pos, offset)
976 ctf_integer(unsigned long, len, len)
977 ctf_integer(int, rw, rw)
978 )
b87700e3
AG
979)
980
3bc29f0a 981LTTNG_TRACEPOINT_EVENT(ext4_direct_IO_exit,
b87700e3
AG
982 TP_PROTO(struct inode *inode, loff_t offset, unsigned long len,
983 int rw, int ret),
984
985 TP_ARGS(inode, offset, len, rw, ret),
986
f127e61e
MD
987 TP_FIELDS(
988 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
989 ctf_integer(ino_t, ino, inode->i_ino)
990 ctf_integer(loff_t, pos, offset)
991 ctf_integer(unsigned long, len, len)
992 ctf_integer(int, rw, rw)
993 ctf_integer(int, ret, ret)
994 )
b87700e3
AG
995)
996
3bc29f0a 997LTTNG_TRACEPOINT_EVENT(ext4_fallocate_exit,
11af8f55
MD
998 TP_PROTO(struct inode *inode, loff_t offset,
999 unsigned int max_blocks, int ret),
1000
1001 TP_ARGS(inode, offset, max_blocks, ret),
1002
f127e61e
MD
1003 TP_FIELDS(
1004 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1005 ctf_integer(ino_t, ino, inode->i_ino)
1006 ctf_integer(loff_t, pos, offset)
1007 ctf_integer(unsigned int, blocks, max_blocks)
1008 ctf_integer(int, ret, ret)
1009 )
11af8f55
MD
1010)
1011
5f4c791e 1012#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,15,0))
11af8f55 1013
3bc29f0a 1014LTTNG_TRACEPOINT_EVENT_CLASS(ext4__fallocate_mode,
b87700e3
AG
1015 TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
1016
1017 TP_ARGS(inode, offset, len, mode),
1018
f127e61e
MD
1019 TP_FIELDS(
1020 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1021 ctf_integer(ino_t, ino, inode->i_ino)
1022 ctf_integer(loff_t, pos, offset)
1023 ctf_integer(loff_t, len, len)
1024 ctf_integer(int, mode, mode)
1025 )
b87700e3
AG
1026)
1027
3bc29f0a 1028LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode, ext4_fallocate_enter,
b87700e3 1029
11af8f55
MD
1030 TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
1031
1032 TP_ARGS(inode, offset, len, mode)
1033)
1034
3bc29f0a 1035LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode, ext4_punch_hole,
11af8f55
MD
1036
1037 TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
1038
1039 TP_ARGS(inode, offset, len, mode)
1040)
1041
3bc29f0a 1042LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode, ext4_zero_range,
11af8f55
MD
1043
1044 TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
1045
1046 TP_ARGS(inode, offset, len, mode)
1047)
1048
5f4c791e 1049#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,15,0)) */
11af8f55 1050
3bc29f0a 1051LTTNG_TRACEPOINT_EVENT(ext4_fallocate_enter,
11af8f55
MD
1052 TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
1053
1054 TP_ARGS(inode, offset, len, mode),
b87700e3 1055
f127e61e
MD
1056 TP_FIELDS(
1057 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1058 ctf_integer(ino_t, ino, inode->i_ino)
1059 ctf_integer(loff_t, pos, offset)
1060 ctf_integer(loff_t, len, len)
1061 ctf_integer(int, mode, mode)
1062 )
b87700e3
AG
1063)
1064
5f4c791e 1065#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
c1b29b59 1066
3bc29f0a 1067LTTNG_TRACEPOINT_EVENT(ext4_punch_hole,
c1b29b59
MD
1068 TP_PROTO(struct inode *inode, loff_t offset, loff_t len),
1069
1070 TP_ARGS(inode, offset, len),
1071
f127e61e
MD
1072 TP_FIELDS(
1073 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1074 ctf_integer(ino_t, ino, inode->i_ino)
1075 ctf_integer(loff_t, pos, offset)
1076 ctf_integer(loff_t, len, len)
1077 )
c1b29b59
MD
1078)
1079
5f4c791e 1080#endif /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0)) */
11af8f55 1081
5f4c791e 1082#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,15,0)) */
c1b29b59 1083
3bc29f0a 1084LTTNG_TRACEPOINT_EVENT(ext4_unlink_enter,
b87700e3
AG
1085 TP_PROTO(struct inode *parent, struct dentry *dentry),
1086
1087 TP_ARGS(parent, dentry),
1088
f127e61e
MD
1089 TP_FIELDS(
1090 ctf_integer(dev_t, dev, dentry->d_inode->i_sb->s_dev)
1091 ctf_integer(ino_t, ino, dentry->d_inode->i_ino)
1092 ctf_integer(ino_t, parent, parent->i_ino)
1093 ctf_integer(loff_t, size, dentry->d_inode->i_size)
1094 )
b87700e3
AG
1095)
1096
3bc29f0a 1097LTTNG_TRACEPOINT_EVENT(ext4_unlink_exit,
b87700e3
AG
1098 TP_PROTO(struct dentry *dentry, int ret),
1099
1100 TP_ARGS(dentry, ret),
1101
f127e61e
MD
1102 TP_FIELDS(
1103 ctf_integer(dev_t, dev, dentry->d_inode->i_sb->s_dev)
1104 ctf_integer(ino_t, ino, dentry->d_inode->i_ino)
1105 ctf_integer(int, ret, ret)
1106 )
b87700e3
AG
1107)
1108
3bc29f0a 1109LTTNG_TRACEPOINT_EVENT_CLASS(ext4__truncate,
b87700e3
AG
1110 TP_PROTO(struct inode *inode),
1111
1112 TP_ARGS(inode),
1113
f127e61e
MD
1114 TP_FIELDS(
1115 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1116 ctf_integer(ino_t, ino, inode->i_ino)
1117 ctf_integer(unsigned int, blocks, inode->i_blocks)
1118 )
b87700e3
AG
1119)
1120
3bc29f0a 1121LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__truncate, ext4_truncate_enter,
b87700e3
AG
1122
1123 TP_PROTO(struct inode *inode),
1124
1125 TP_ARGS(inode)
1126)
1127
3bc29f0a 1128LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__truncate, ext4_truncate_exit,
b87700e3
AG
1129
1130 TP_PROTO(struct inode *inode),
1131
1132 TP_ARGS(inode)
1133)
1134
5f4c791e 1135#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,2,0))
b87700e3 1136/* 'ux' is the uninitialized extent. */
3bc29f0a 1137LTTNG_TRACEPOINT_EVENT(ext4_ext_convert_to_initialized_enter,
b87700e3
AG
1138 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map,
1139 struct ext4_extent *ux),
1140
1141 TP_ARGS(inode, map, ux),
1142
f127e61e
MD
1143 TP_FIELDS(
1144 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1145 ctf_integer(ino_t, ino, inode->i_ino)
1146 ctf_integer(ext4_lblk_t, m_lblk, map->m_lblk)
1147 ctf_integer(unsigned, m_len, map->m_len)
1148 ctf_integer(ext4_lblk_t, u_lblk, le32_to_cpu(ux->ee_block))
1149 ctf_integer(unsigned, u_len, ext4_ext_get_actual_len(ux))
1150 ctf_integer(ext4_fsblk_t, u_pblk, ext4_ext_pblock(ux))
1151 )
b87700e3
AG
1152)
1153
1154/*
1155 * 'ux' is the uninitialized extent.
1156 * 'ix' is the initialized extent to which blocks are transferred.
1157 */
3bc29f0a 1158LTTNG_TRACEPOINT_EVENT(ext4_ext_convert_to_initialized_fastpath,
b87700e3
AG
1159 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map,
1160 struct ext4_extent *ux, struct ext4_extent *ix),
1161
1162 TP_ARGS(inode, map, ux, ix),
1163
f127e61e
MD
1164 TP_FIELDS(
1165 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1166 ctf_integer(ino_t, ino, inode->i_ino)
1167 ctf_integer(ext4_lblk_t, m_lblk, map->m_lblk)
1168 ctf_integer(unsigned, m_len, map->m_len)
1169 ctf_integer(ext4_lblk_t, u_lblk, le32_to_cpu(ux->ee_block))
1170 ctf_integer(unsigned, u_len, ext4_ext_get_actual_len(ux))
1171 ctf_integer(ext4_fsblk_t, u_pblk, ext4_ext_pblock(ux))
1172 ctf_integer(ext4_lblk_t, i_lblk, le32_to_cpu(ix->ee_block))
1173 ctf_integer(unsigned, i_len, ext4_ext_get_actual_len(ix))
1174 ctf_integer(ext4_fsblk_t, i_pblk, ext4_ext_pblock(ix))
1175 )
b87700e3
AG
1176)
1177#endif
1178
3bc29f0a 1179LTTNG_TRACEPOINT_EVENT_CLASS(ext4__map_blocks_enter,
b87700e3
AG
1180 TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
1181 unsigned int len, unsigned int flags),
1182
1183 TP_ARGS(inode, lblk, len, flags),
1184
f127e61e
MD
1185 TP_FIELDS(
1186 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1187 ctf_integer(ino_t, ino, inode->i_ino)
1188 ctf_integer(ext4_lblk_t, lblk, lblk)
1189 ctf_integer(unsigned int, len, len)
1190 ctf_integer(unsigned int, flags, flags)
1191 )
b87700e3
AG
1192)
1193
3bc29f0a 1194LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_enter, ext4_ext_map_blocks_enter,
b87700e3
AG
1195 TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
1196 unsigned len, unsigned flags),
1197
1198 TP_ARGS(inode, lblk, len, flags)
1199)
1200
3bc29f0a 1201LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_enter, ext4_ind_map_blocks_enter,
b87700e3
AG
1202 TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
1203 unsigned len, unsigned flags),
1204
1205 TP_ARGS(inode, lblk, len, flags)
1206)
1207
5f4c791e 1208#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
00be8842 1209
3bc29f0a 1210LTTNG_TRACEPOINT_EVENT_CLASS(ext4__map_blocks_exit,
00be8842
MD
1211 TP_PROTO(struct inode *inode, unsigned flags, struct ext4_map_blocks *map,
1212 int ret),
1213
1214 TP_ARGS(inode, flags, map, ret),
1215
f127e61e
MD
1216 TP_FIELDS(
1217 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1218 ctf_integer(ino_t, ino, inode->i_ino)
1219 ctf_integer(unsigned int, flags, flags)
1220 ctf_integer(ext4_fsblk_t, pblk, map->m_pblk)
1221 ctf_integer(ext4_lblk_t, lblk, map->m_lblk)
1222 ctf_integer(unsigned int, len, map->m_len)
1223 ctf_integer(unsigned int, mflags, map->m_flags)
1224 ctf_integer(int, ret, ret)
1225 )
00be8842
MD
1226)
1227
3bc29f0a 1228LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit, ext4_ext_map_blocks_exit,
00be8842
MD
1229 TP_PROTO(struct inode *inode, unsigned flags,
1230 struct ext4_map_blocks *map, int ret),
1231
1232 TP_ARGS(inode, flags, map, ret)
1233)
1234
3bc29f0a 1235LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit, ext4_ind_map_blocks_exit,
00be8842
MD
1236 TP_PROTO(struct inode *inode, unsigned flags,
1237 struct ext4_map_blocks *map, int ret),
1238
1239 TP_ARGS(inode, flags, map, ret)
1240)
1241
5f4c791e 1242#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0))
162774b4 1243
3bc29f0a 1244LTTNG_TRACEPOINT_EVENT_CLASS(ext4__map_blocks_exit,
162774b4
MD
1245 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
1246
1247 TP_ARGS(inode, map, ret),
1248
f127e61e
MD
1249 TP_FIELDS(
1250 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1251 ctf_integer(ino_t, ino, inode->i_ino)
f127e61e
MD
1252 ctf_integer(ext4_fsblk_t, pblk, map->m_pblk)
1253 ctf_integer(ext4_lblk_t, lblk, map->m_lblk)
1254 ctf_integer(unsigned int, len, map->m_len)
1255 ctf_integer(unsigned int, mflags, map->m_flags)
1256 ctf_integer(int, ret, ret)
1257 )
162774b4
MD
1258)
1259
3bc29f0a 1260LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit, ext4_ext_map_blocks_exit,
162774b4
MD
1261 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
1262
1263 TP_ARGS(inode, map, ret)
1264)
1265
3bc29f0a 1266LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit, ext4_ind_map_blocks_exit,
162774b4
MD
1267 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
1268
1269 TP_ARGS(inode, map, ret)
1270)
1271
5f4c791e 1272#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0)) */
162774b4 1273
3bc29f0a 1274LTTNG_TRACEPOINT_EVENT_CLASS(ext4__map_blocks_exit,
b87700e3
AG
1275 TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
1276 ext4_fsblk_t pblk, unsigned int len, int ret),
1277
1278 TP_ARGS(inode, lblk, pblk, len, ret),
1279
f127e61e
MD
1280 TP_FIELDS(
1281 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1282 ctf_integer(ino_t, ino, inode->i_ino)
1283 ctf_integer(ext4_fsblk_t, pblk, pblk)
1284 ctf_integer(ext4_lblk_t, lblk, lblk)
1285 ctf_integer(unsigned int, len, len)
1286 ctf_integer(int, ret, ret)
1287 )
b87700e3
AG
1288)
1289
3bc29f0a 1290LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit, ext4_ext_map_blocks_exit,
b87700e3
AG
1291 TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
1292 ext4_fsblk_t pblk, unsigned len, int ret),
1293
1294 TP_ARGS(inode, lblk, pblk, len, ret)
1295)
1296
3bc29f0a 1297LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit, ext4_ind_map_blocks_exit,
b87700e3
AG
1298 TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
1299 ext4_fsblk_t pblk, unsigned len, int ret),
1300
1301 TP_ARGS(inode, lblk, pblk, len, ret)
1302)
1303
5f4c791e 1304#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0)) */
162774b4 1305
3bc29f0a 1306LTTNG_TRACEPOINT_EVENT(ext4_ext_load_extent,
b87700e3
AG
1307 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk),
1308
1309 TP_ARGS(inode, lblk, pblk),
1310
f127e61e
MD
1311 TP_FIELDS(
1312 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1313 ctf_integer(ino_t, ino, inode->i_ino)
1314 ctf_integer(ext4_fsblk_t, pblk, pblk)
1315 ctf_integer(ext4_lblk_t, lblk, lblk)
1316 )
b87700e3
AG
1317)
1318
5f4c791e 1319#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0))
e68322f3
MJ
1320LTTNG_TRACEPOINT_EVENT(ext4_load_inode,
1321 TP_PROTO(struct super_block *sb, unsigned long ino),
1322
1323 TP_ARGS(sb, ino),
1324
1325 TP_FIELDS(
1326 ctf_integer(dev_t, dev, sb->s_dev)
1327 ctf_integer(ino_t, ino, ino)
1328 )
1329)
1330#else
3bc29f0a 1331LTTNG_TRACEPOINT_EVENT(ext4_load_inode,
b87700e3
AG
1332 TP_PROTO(struct inode *inode),
1333
1334 TP_ARGS(inode),
1335
f127e61e
MD
1336 TP_FIELDS(
1337 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1338 ctf_integer(ino_t, ino, inode->i_ino)
1339 )
b87700e3 1340)
e68322f3 1341#endif
b87700e3 1342
057ad399
KS
1343#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0) || \
1344 LTTNG_RHEL_KERNEL_RANGE(4,18,0,240,15,1, 4,19,0,0,0,0))
bb0eb66d
MJ
1345
1346LTTNG_TRACEPOINT_EVENT(ext4_journal_start,
1347 TP_PROTO(struct super_block *sb, int blocks, int rsv_blocks,
1348 int revoke_creds, unsigned long IP),
1349
1350 TP_ARGS(sb, blocks, rsv_blocks, revoke_creds, IP),
1351
1352 TP_FIELDS(
1353 ctf_integer(dev_t, dev, sb->s_dev)
2c054599 1354 ctf_integer_hex(unsigned long, ip, IP)
bb0eb66d
MJ
1355 ctf_integer(int, blocks, blocks)
1356 ctf_integer(int, rsv_blocks, rsv_blocks)
1357 ctf_integer(int, revoke_creds, revoke_creds)
1358 )
1359)
1360
1361LTTNG_TRACEPOINT_EVENT(ext4_journal_start_reserved,
1362 TP_PROTO(struct super_block *sb, int blocks, unsigned long IP),
1363
1364 TP_ARGS(sb, blocks, IP),
1365
1366 TP_FIELDS(
1367 ctf_integer(dev_t, dev, sb->s_dev)
2c054599 1368 ctf_integer_hex(unsigned long, ip, IP)
bb0eb66d
MJ
1369 ctf_integer(int, blocks, blocks)
1370 )
1371)
1372
5f4c791e 1373#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
00be8842 1374
3bc29f0a 1375LTTNG_TRACEPOINT_EVENT(ext4_journal_start,
00be8842
MD
1376 TP_PROTO(struct super_block *sb, int blocks, int rsv_blocks,
1377 unsigned long IP),
1378
1379 TP_ARGS(sb, blocks, rsv_blocks, IP),
1380
f127e61e
MD
1381 TP_FIELDS(
1382 ctf_integer(dev_t, dev, sb->s_dev)
2c054599 1383 ctf_integer_hex(unsigned long, ip, IP)
f127e61e
MD
1384 ctf_integer(int, blocks, blocks)
1385 ctf_integer(int, rsv_blocks, rsv_blocks)
1386 )
00be8842
MD
1387)
1388
3bc29f0a 1389LTTNG_TRACEPOINT_EVENT(ext4_journal_start_reserved,
00be8842
MD
1390 TP_PROTO(struct super_block *sb, int blocks, unsigned long IP),
1391
1392 TP_ARGS(sb, blocks, IP),
1393
f127e61e
MD
1394 TP_FIELDS(
1395 ctf_integer(dev_t, dev, sb->s_dev)
2c054599 1396 ctf_integer_hex(unsigned long, ip, IP)
f127e61e
MD
1397 ctf_integer(int, blocks, blocks)
1398 )
00be8842
MD
1399)
1400
5f4c791e 1401#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,1,0))
00be8842 1402
3bc29f0a 1403LTTNG_TRACEPOINT_EVENT(ext4_journal_start,
b87700e3
AG
1404 TP_PROTO(struct super_block *sb, int nblocks, unsigned long IP),
1405
1406 TP_ARGS(sb, nblocks, IP),
1407
f127e61e
MD
1408 TP_FIELDS(
1409 ctf_integer(dev_t, dev, sb->s_dev)
2c054599 1410 ctf_integer_hex(unsigned long, ip, IP)
f127e61e
MD
1411 ctf_integer(int, nblocks, nblocks)
1412 )
b87700e3
AG
1413)
1414
3bc29f0a 1415LTTNG_TRACEPOINT_EVENT_CLASS(ext4__trim,
b87700e3
AG
1416 TP_PROTO(struct super_block *sb,
1417 ext4_group_t group,
1418 ext4_grpblk_t start,
1419 ext4_grpblk_t len),
1420
1421 TP_ARGS(sb, group, start, len),
1422
f127e61e
MD
1423 TP_FIELDS(
1424 ctf_integer(int, dev_major, MAJOR(sb->s_dev))
1425 ctf_integer(int, dev_minor, MINOR(sb->s_dev))
1426 ctf_integer(__u32, group, group)
1427 ctf_integer(int, start, start)
1428 ctf_integer(int, len, len)
1429 )
b87700e3
AG
1430)
1431
3bc29f0a 1432LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__trim, ext4_trim_extent,
b87700e3
AG
1433
1434 TP_PROTO(struct super_block *sb,
1435 ext4_group_t group,
1436 ext4_grpblk_t start,
1437 ext4_grpblk_t len),
1438
1439 TP_ARGS(sb, group, start, len)
1440)
1441
3bc29f0a 1442LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__trim, ext4_trim_all_free,
b87700e3
AG
1443
1444 TP_PROTO(struct super_block *sb,
1445 ext4_group_t group,
1446 ext4_grpblk_t start,
1447 ext4_grpblk_t len),
1448
1449 TP_ARGS(sb, group, start, len)
1450)
1451#endif
1452
5f4c791e 1453#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,2,0))
162774b4 1454
3bc29f0a 1455LTTNG_TRACEPOINT_EVENT(ext4_ext_handle_uninitialized_extents,
5f4c791e 1456#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0))
162774b4
MD
1457 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int flags,
1458 unsigned int allocated, ext4_fsblk_t newblock),
1459
1460 TP_ARGS(inode, map, flags, allocated, newblock),
5f4c791e 1461#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0)) */
b87700e3
AG
1462 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map,
1463 unsigned int allocated, ext4_fsblk_t newblock),
1464
1465 TP_ARGS(inode, map, allocated, newblock),
5f4c791e 1466#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0)) */
b87700e3 1467
f127e61e
MD
1468 TP_FIELDS(
1469 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1470 ctf_integer(ino_t, ino, inode->i_ino)
5f4c791e 1471#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0))
f127e61e 1472 ctf_integer(int, flags, flags)
5f4c791e 1473#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0)) */
f127e61e 1474 ctf_integer(int, flags, map->m_flags)
5f4c791e 1475#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,8,0)) */
f127e61e
MD
1476 ctf_integer(ext4_lblk_t, lblk, map->m_lblk)
1477 ctf_integer(ext4_fsblk_t, pblk, map->m_pblk)
1478 ctf_integer(unsigned int, len, map->m_len)
1479 ctf_integer(unsigned int, allocated, allocated)
1480 ctf_integer(ext4_fsblk_t, newblk, newblock)
1481 )
b87700e3
AG
1482)
1483
3bc29f0a 1484LTTNG_TRACEPOINT_EVENT(ext4_get_implied_cluster_alloc_exit,
b87700e3
AG
1485 TP_PROTO(struct super_block *sb, struct ext4_map_blocks *map, int ret),
1486
1487 TP_ARGS(sb, map, ret),
1488
f127e61e
MD
1489 TP_FIELDS(
1490 ctf_integer(dev_t, dev, sb->s_dev)
1491 ctf_integer(unsigned int, flags, map->m_flags)
1492 ctf_integer(ext4_lblk_t, lblk, map->m_lblk)
1493 ctf_integer(ext4_fsblk_t, pblk, map->m_pblk)
1494 ctf_integer(unsigned int, len, map->m_len)
1495 ctf_integer(int, ret, ret)
1496 )
b87700e3
AG
1497)
1498
3bc29f0a 1499LTTNG_TRACEPOINT_EVENT(ext4_ext_put_in_cache,
b87700e3
AG
1500 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, unsigned int len,
1501 ext4_fsblk_t start),
1502
1503 TP_ARGS(inode, lblk, len, start),
1504
f127e61e
MD
1505 TP_FIELDS(
1506 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1507 ctf_integer(ino_t, ino, inode->i_ino)
1508 ctf_integer(ext4_lblk_t, lblk, lblk)
1509 ctf_integer(unsigned int, len, len)
1510 ctf_integer(ext4_fsblk_t, start, start)
1511 )
b87700e3
AG
1512)
1513
3bc29f0a 1514LTTNG_TRACEPOINT_EVENT(ext4_ext_in_cache,
b87700e3
AG
1515 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, int ret),
1516
1517 TP_ARGS(inode, lblk, ret),
1518
f127e61e
MD
1519 TP_FIELDS(
1520 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1521 ctf_integer(ino_t, ino, inode->i_ino)
1522 ctf_integer(ext4_lblk_t, lblk, lblk)
1523 ctf_integer(int, ret, ret)
1524 )
b87700e3
AG
1525)
1526
3bc29f0a 1527LTTNG_TRACEPOINT_EVENT(ext4_find_delalloc_range,
b87700e3
AG
1528 TP_PROTO(struct inode *inode, ext4_lblk_t from, ext4_lblk_t to,
1529 int reverse, int found, ext4_lblk_t found_blk),
1530
1531 TP_ARGS(inode, from, to, reverse, found, found_blk),
1532
f127e61e
MD
1533 TP_FIELDS(
1534 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1535 ctf_integer(ino_t, ino, inode->i_ino)
1536 ctf_integer(ext4_lblk_t, from, from)
1537 ctf_integer(ext4_lblk_t, to, to)
1538 ctf_integer(int, reverse, reverse)
1539 ctf_integer(int, found, found)
1540 ctf_integer(ext4_lblk_t, found_blk, found_blk)
1541 )
b87700e3
AG
1542)
1543
3bc29f0a 1544LTTNG_TRACEPOINT_EVENT(ext4_get_reserved_cluster_alloc,
b87700e3
AG
1545 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, unsigned int len),
1546
1547 TP_ARGS(inode, lblk, len),
1548
f127e61e
MD
1549 TP_FIELDS(
1550 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1551 ctf_integer(ino_t, ino, inode->i_ino)
1552 ctf_integer(ext4_lblk_t, lblk, lblk)
1553 ctf_integer(unsigned int, len, len)
1554 )
b87700e3
AG
1555)
1556
3bc29f0a 1557LTTNG_TRACEPOINT_EVENT(ext4_ext_show_extent,
b87700e3
AG
1558 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk,
1559 unsigned short len),
1560
1561 TP_ARGS(inode, lblk, pblk, len),
1562
f127e61e
MD
1563 TP_FIELDS(
1564 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1565 ctf_integer(ino_t, ino, inode->i_ino)
1566 ctf_integer(ext4_fsblk_t, pblk, pblk)
1567 ctf_integer(ext4_lblk_t, lblk, lblk)
1568 ctf_integer(unsigned short, len, len)
1569 )
b87700e3
AG
1570)
1571
5f4c791e 1572#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0) || \
3395f24e 1573 LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0))
85957268
MJ
1574
1575LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
1576 TP_PROTO(struct inode *inode, struct ext4_extent *ex,
1577 ext4_lblk_t from, ext4_fsblk_t to,
1578 struct partial_cluster *pc),
1579
1580 TP_ARGS(inode, ex, from, to, pc),
1581
1582 TP_FIELDS(
1583 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1584 ctf_integer(ino_t, ino, inode->i_ino)
1585 ctf_integer(ext4_lblk_t, from, from)
1586 ctf_integer(ext4_lblk_t, to, to)
1587 ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
1588 ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
1589 ctf_integer(unsigned short, ee_len, ext4_ext_get_actual_len(ex))
1590 ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
1591 ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
1592 ctf_integer(int, pc_state, pc->state)
1593 )
1594)
1595
5f4c791e 1596#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
00be8842 1597
3bc29f0a 1598LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
00be8842
MD
1599 TP_PROTO(struct inode *inode, struct ext4_extent *ex,
1600 ext4_lblk_t from, ext4_fsblk_t to,
1601 long long partial_cluster),
1602
1603 TP_ARGS(inode, ex, from, to, partial_cluster),
1604
f127e61e
MD
1605 TP_FIELDS(
1606 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1607 ctf_integer(ino_t, ino, inode->i_ino)
1608 ctf_integer(ext4_lblk_t, from, from)
1609 ctf_integer(ext4_lblk_t, to, to)
1610 ctf_integer(long long, partial, partial_cluster)
1611 ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
1612 ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
1613 ctf_integer(unsigned short, ee_len, ext4_ext_get_actual_len(ex))
1614 )
00be8842
MD
1615)
1616
1617#else
1618
3bc29f0a 1619LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
b87700e3
AG
1620 TP_PROTO(struct inode *inode, struct ext4_extent *ex,
1621 ext4_lblk_t from, ext4_fsblk_t to,
1622 ext4_fsblk_t partial_cluster),
1623
1624 TP_ARGS(inode, ex, from, to, partial_cluster),
1625
f127e61e
MD
1626 TP_FIELDS(
1627 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1628 ctf_integer(ino_t, ino, inode->i_ino)
1629 ctf_integer(ext4_lblk_t, from, from)
1630 ctf_integer(ext4_lblk_t, to, to)
1631 ctf_integer(ext4_fsblk_t, partial, partial_cluster)
1632 ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
1633 ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
1634 ctf_integer(unsigned short, ee_len, ext4_ext_get_actual_len(ex))
1635 )
b87700e3
AG
1636)
1637
00be8842
MD
1638#endif
1639
5f4c791e 1640#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0) || \
3395f24e 1641 LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0))
85957268
MJ
1642
1643LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf,
1644 TP_PROTO(struct inode *inode, ext4_lblk_t start,
1645 struct ext4_extent *ex,
1646 struct partial_cluster *pc),
1647
1648 TP_ARGS(inode, start, ex, pc),
1649
1650 TP_FIELDS(
1651 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1652 ctf_integer(ino_t, ino, inode->i_ino)
1653 ctf_integer(ext4_lblk_t, start, start)
1654 ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
1655 ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
1656 ctf_integer(short, ee_len, ext4_ext_get_actual_len(ex))
1657 ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
1658 ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
1659 ctf_integer(int, pc_state, pc->state)
1660 )
1661)
1662
5f4c791e 1663#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
00be8842 1664
3bc29f0a 1665LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf,
00be8842
MD
1666 TP_PROTO(struct inode *inode, ext4_lblk_t start,
1667 struct ext4_extent *ex,
1668 long long partial_cluster),
1669
1670 TP_ARGS(inode, start, ex, partial_cluster),
1671
f127e61e
MD
1672 TP_FIELDS(
1673 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1674 ctf_integer(ino_t, ino, inode->i_ino)
1675 ctf_integer(long long, partial, partial_cluster)
1676 ctf_integer(ext4_lblk_t, start, start)
1677 ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
1678 ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
1679 ctf_integer(short, ee_len, ext4_ext_get_actual_len(ex))
1680 )
00be8842
MD
1681)
1682
1683#else
1684
3bc29f0a 1685LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf,
b87700e3
AG
1686 TP_PROTO(struct inode *inode, ext4_lblk_t start,
1687 struct ext4_extent *ex, ext4_fsblk_t partial_cluster),
1688
1689 TP_ARGS(inode, start, ex, partial_cluster),
1690
f127e61e
MD
1691 TP_FIELDS(
1692 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1693 ctf_integer(ino_t, ino, inode->i_ino)
1694 ctf_integer(long long, partial, partial_cluster)
1695 ctf_integer(ext4_lblk_t, start, start)
1696 ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
1697 ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
1698 ctf_integer(short, ee_len, ext4_ext_get_actual_len(ex))
1699 )
b87700e3
AG
1700)
1701
00be8842
MD
1702#endif
1703
3bc29f0a 1704LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_idx,
b87700e3
AG
1705 TP_PROTO(struct inode *inode, ext4_fsblk_t pblk),
1706
1707 TP_ARGS(inode, pblk),
1708
f127e61e
MD
1709 TP_FIELDS(
1710 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1711 ctf_integer(ino_t, ino, inode->i_ino)
1712 ctf_integer(ext4_fsblk_t, pblk, pblk)
1713 )
b87700e3
AG
1714)
1715
5f4c791e 1716#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
00be8842 1717
3bc29f0a 1718LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space,
00be8842
MD
1719 TP_PROTO(struct inode *inode, ext4_lblk_t start,
1720 ext4_lblk_t end, int depth),
1721
1722 TP_ARGS(inode, start, end, depth),
1723
f127e61e
MD
1724 TP_FIELDS(
1725 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1726 ctf_integer(ino_t, ino, inode->i_ino)
1727 ctf_integer(ext4_lblk_t, start, start)
1728 ctf_integer(ext4_lblk_t, end, end)
1729 ctf_integer(int, depth, depth)
1730 )
00be8842
MD
1731)
1732
1733#else
1734
3bc29f0a 1735LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space,
b87700e3
AG
1736 TP_PROTO(struct inode *inode, ext4_lblk_t start, int depth),
1737
1738 TP_ARGS(inode, start, depth),
1739
f127e61e
MD
1740 TP_FIELDS(
1741 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1742 ctf_integer(ino_t, ino, inode->i_ino)
1743 ctf_integer(ext4_lblk_t, start, start)
1744 ctf_integer(int, depth, depth)
1745 )
b87700e3
AG
1746)
1747
00be8842
MD
1748#endif
1749
5f4c791e 1750#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0) || \
3395f24e 1751 LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0))
85957268
MJ
1752
1753LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done,
1754 TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end,
1755 int depth, struct partial_cluster *pc, __le16 eh_entries),
1756
1757 TP_ARGS(inode, start, end, depth, pc, eh_entries),
1758
1759 TP_FIELDS(
1760 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1761 ctf_integer(ino_t, ino, inode->i_ino)
1762 ctf_integer(ext4_lblk_t, start, start)
1763 ctf_integer(ext4_lblk_t, end, end)
1764 ctf_integer(int, depth, depth)
1765 ctf_integer(unsigned short, eh_entries, le16_to_cpu(eh_entries))
1766 ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
1767 ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
1768 ctf_integer(int, pc_state, pc->state)
1769 )
1770)
1771
5f4c791e 1772#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
00be8842 1773
3bc29f0a 1774LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done,
00be8842
MD
1775 TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end,
1776 int depth, long long partial, __le16 eh_entries),
1777
1778 TP_ARGS(inode, start, end, depth, partial, eh_entries),
1779
f127e61e
MD
1780 TP_FIELDS(
1781 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1782 ctf_integer(ino_t, ino, inode->i_ino)
1783 ctf_integer(ext4_lblk_t, start, start)
1784 ctf_integer(ext4_lblk_t, end, end)
1785 ctf_integer(int, depth, depth)
1786 ctf_integer(long long, partial, partial)
1787 ctf_integer(unsigned short, eh_entries, le16_to_cpu(eh_entries))
1788 )
00be8842
MD
1789)
1790
1791#else
1792
3bc29f0a 1793LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done,
b87700e3
AG
1794 TP_PROTO(struct inode *inode, ext4_lblk_t start, int depth,
1795 ext4_lblk_t partial, unsigned short eh_entries),
1796
1797 TP_ARGS(inode, start, depth, partial, eh_entries),
1798
f127e61e
MD
1799 TP_FIELDS(
1800 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1801 ctf_integer(ino_t, ino, inode->i_ino)
1802 ctf_integer(ext4_lblk_t, start, start)
1803 ctf_integer(int, depth, depth)
1804 ctf_integer(ext4_lblk_t, partial, partial)
1805 ctf_integer(unsigned short, eh_entries, eh_entries)
1806 )
b87700e3 1807)
00be8842
MD
1808
1809#endif
1810
1811#endif
1812
5f4c791e 1813#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,12,0))
39aee4a0 1814
3bc29f0a 1815LTTNG_TRACEPOINT_EVENT_CLASS(ext4__es_extent,
39aee4a0
MD
1816 TP_PROTO(struct inode *inode, struct extent_status *es),
1817
1818 TP_ARGS(inode, es),
1819
f127e61e
MD
1820 TP_FIELDS(
1821 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1822 ctf_integer(ino_t, ino, inode->i_ino)
1823 ctf_integer(ext4_lblk_t, lblk, es->es_lblk)
1824 ctf_integer(ext4_lblk_t, len, es->es_len)
1825 ctf_integer(ext4_fsblk_t, pblk, ext4_es_pblock(es))
1826 ctf_integer(char, status, ext4_es_status(es))
1827 )
39aee4a0
MD
1828)
1829
3bc29f0a 1830LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__es_extent, ext4_es_insert_extent,
39aee4a0
MD
1831 TP_PROTO(struct inode *inode, struct extent_status *es),
1832
1833 TP_ARGS(inode, es)
1834)
1835
3bc29f0a 1836LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__es_extent, ext4_es_cache_extent,
39aee4a0
MD
1837 TP_PROTO(struct inode *inode, struct extent_status *es),
1838
1839 TP_ARGS(inode, es)
1840)
1841
5f4c791e 1842#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,11,0))
00be8842 1843
3bc29f0a 1844LTTNG_TRACEPOINT_EVENT(ext4_es_insert_extent,
00be8842
MD
1845 TP_PROTO(struct inode *inode, struct extent_status *es),
1846
1847 TP_ARGS(inode, es),
1848
f127e61e
MD
1849 TP_FIELDS(
1850 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1851 ctf_integer(ino_t, ino, inode->i_ino)
1852 ctf_integer(ext4_lblk_t, lblk, es->es_lblk)
1853 ctf_integer(ext4_lblk_t, len, es->es_len)
1854 ctf_integer(ext4_fsblk_t, pblk, ext4_es_pblock(es))
1855 ctf_integer(char, status, ext4_es_status(es) >> 60)
1856 )
00be8842
MD
1857)
1858
3bc29f0a 1859LTTNG_TRACEPOINT_EVENT(ext4_es_remove_extent,
00be8842
MD
1860 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_lblk_t len),
1861
1862 TP_ARGS(inode, lblk, len),
1863
f127e61e
MD
1864 TP_FIELDS(
1865 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1866 ctf_integer(ino_t, ino, inode->i_ino)
1867 ctf_integer(loff_t, lblk, lblk)
1868 ctf_integer(loff_t, len, len)
1869 )
00be8842
MD
1870)
1871
3bc29f0a 1872LTTNG_TRACEPOINT_EVENT(ext4_es_find_delayed_extent_range_enter,
00be8842
MD
1873 TP_PROTO(struct inode *inode, ext4_lblk_t lblk),
1874
1875 TP_ARGS(inode, lblk),
1876
f127e61e
MD
1877 TP_FIELDS(
1878 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1879 ctf_integer(ino_t, ino, inode->i_ino)
1880 ctf_integer(ext4_lblk_t, lblk, lblk)
1881 )
00be8842
MD
1882)
1883
3bc29f0a 1884LTTNG_TRACEPOINT_EVENT(ext4_es_find_delayed_extent_range_exit,
00be8842
MD
1885 TP_PROTO(struct inode *inode, struct extent_status *es),
1886
1887 TP_ARGS(inode, es),
1888
f127e61e
MD
1889 TP_FIELDS(
1890 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1891 ctf_integer(ino_t, ino, inode->i_ino)
1892 ctf_integer(ext4_lblk_t, lblk, es->es_lblk)
1893 ctf_integer(ext4_lblk_t, len, es->es_len)
1894 ctf_integer(ext4_fsblk_t, pblk, ext4_es_pblock(es))
1895 ctf_integer(char, status, ext4_es_status(es) >> 60)
1896 )
00be8842
MD
1897)
1898
3bc29f0a 1899LTTNG_TRACEPOINT_EVENT(ext4_es_lookup_extent_enter,
00be8842
MD
1900 TP_PROTO(struct inode *inode, ext4_lblk_t lblk),
1901
1902 TP_ARGS(inode, lblk),
1903
f127e61e
MD
1904 TP_FIELDS(
1905 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1906 ctf_integer(ino_t, ino, inode->i_ino)
1907 ctf_integer(ext4_lblk_t, lblk, lblk)
1908 )
00be8842
MD
1909)
1910
3bc29f0a 1911LTTNG_TRACEPOINT_EVENT(ext4_es_lookup_extent_exit,
00be8842
MD
1912 TP_PROTO(struct inode *inode, struct extent_status *es,
1913 int found),
1914
1915 TP_ARGS(inode, es, found),
1916
f127e61e
MD
1917 TP_FIELDS(
1918 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1919 ctf_integer(ino_t, ino, inode->i_ino)
1920 ctf_integer(ext4_lblk_t, lblk, es->es_lblk)
1921 ctf_integer(ext4_lblk_t, len, es->es_len)
1922 ctf_integer(ext4_fsblk_t, pblk, ext4_es_pblock(es))
1923 ctf_integer(char, status, ext4_es_status(es) >> 60)
1924 ctf_integer(int, found, found)
1925 )
00be8842
MD
1926)
1927
3bc29f0a 1928LTTNG_TRACEPOINT_EVENT(ext4_es_shrink_enter,
00be8842
MD
1929 TP_PROTO(struct super_block *sb, int nr_to_scan, int cache_cnt),
1930
1931 TP_ARGS(sb, nr_to_scan, cache_cnt),
1932
f127e61e
MD
1933 TP_FIELDS(
1934 ctf_integer(dev_t, dev, sb->s_dev)
1935 ctf_integer(int, nr_to_scan, nr_to_scan)
1936 ctf_integer(int, cache_cnt, cache_cnt)
1937 )
00be8842
MD
1938)
1939
3bc29f0a 1940LTTNG_TRACEPOINT_EVENT(ext4_es_shrink_exit,
00be8842
MD
1941 TP_PROTO(struct super_block *sb, int shrunk_nr, int cache_cnt),
1942
1943 TP_ARGS(sb, shrunk_nr, cache_cnt),
1944
f127e61e
MD
1945 TP_FIELDS(
1946 ctf_integer(dev_t, dev, sb->s_dev)
1947 ctf_integer(int, shrunk_nr, shrunk_nr)
1948 ctf_integer(int, cache_cnt, cache_cnt)
1949 )
00be8842
MD
1950)
1951
b87700e3
AG
1952#endif
1953
5f4c791e 1954#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0))
e68322f3
MJ
1955LTTNG_TRACEPOINT_EVENT(ext4_fc_replay_scan,
1956 TP_PROTO(struct super_block *sb, int error, int off),
1957
1958 TP_ARGS(sb, error, off),
1959
1960 TP_FIELDS(
1961 ctf_integer(dev_t, dev, sb->s_dev)
1962 ctf_integer(int, error, error)
1963 ctf_integer(int, off, off)
1964 )
1965)
1966
1967LTTNG_TRACEPOINT_EVENT(ext4_fc_replay,
1968 TP_PROTO(struct super_block *sb, int tag, int ino, int priv1, int priv2),
1969
1970 TP_ARGS(sb, tag, ino, priv1, priv2),
1971
1972 TP_FIELDS(
1973 ctf_integer(dev_t, dev, sb->s_dev)
1974 ctf_integer(int, tag, tag)
1975 ctf_integer(int, ino, ino)
1976 ctf_integer(int, priv1, priv1)
1977 ctf_integer(int, priv2, priv2)
1978 )
1979)
1980#endif
1981
3bc29f0a 1982#endif /* LTTNG_TRACE_EXT4_H */
b87700e3
AG
1983
1984/* This part must be outside protection */
3b4aafcb 1985#include <lttng/define_trace.h>
This page took 0.149163 seconds and 4 git commands to generate.