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