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