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