1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #define TRACE_SYSTEM ext4
5 #if !defined(LTTNG_TRACE_EXT4_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_EXT4_H
8 #include <lttng/tracepoint-event.h>
9 #include <linux/writeback.h>
10 #include <lttng/kernel-version.h>
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
;
19 struct ext4_map_blocks
;
23 #define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
24 #define TP_MODE_T __u16
26 LTTNG_TRACEPOINT_EVENT(ext4_free_inode
,
27 TP_PROTO(struct inode
*inode
),
32 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
33 ctf_integer(ino_t
, ino
, inode
->i_ino
)
34 ctf_integer(uid_t
, uid
, i_uid_read(inode
))
35 ctf_integer(gid_t
, gid
, i_gid_read(inode
))
36 ctf_integer(__u64
, blocks
, inode
->i_blocks
)
37 ctf_integer(TP_MODE_T
, mode
, inode
->i_mode
)
41 LTTNG_TRACEPOINT_EVENT(ext4_request_inode
,
42 TP_PROTO(struct inode
*dir
, int mode
),
47 ctf_integer(dev_t
, dev
, dir
->i_sb
->s_dev
)
48 ctf_integer(ino_t
, dir
, dir
->i_ino
)
49 ctf_integer(TP_MODE_T
, mode
, mode
)
53 LTTNG_TRACEPOINT_EVENT(ext4_allocate_inode
,
54 TP_PROTO(struct inode
*inode
, struct inode
*dir
, int mode
),
56 TP_ARGS(inode
, dir
, mode
),
59 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
60 ctf_integer(ino_t
, ino
, inode
->i_ino
)
61 ctf_integer(ino_t
, dir
, dir
->i_ino
)
62 ctf_integer(TP_MODE_T
, mode
, mode
)
66 LTTNG_TRACEPOINT_EVENT(ext4_evict_inode
,
67 TP_PROTO(struct inode
*inode
),
72 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
73 ctf_integer(ino_t
, ino
, inode
->i_ino
)
74 ctf_integer(int, nlink
, inode
->i_nlink
)
78 LTTNG_TRACEPOINT_EVENT(ext4_drop_inode
,
79 TP_PROTO(struct inode
*inode
, int drop
),
84 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
85 ctf_integer(ino_t
, ino
, inode
->i_ino
)
86 ctf_integer(int, drop
, drop
)
90 LTTNG_TRACEPOINT_EVENT(ext4_mark_inode_dirty
,
91 TP_PROTO(struct inode
*inode
, unsigned long IP
),
96 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
97 ctf_integer(ino_t
, ino
, inode
->i_ino
)
98 ctf_integer_hex(unsigned long, ip
, IP
)
102 LTTNG_TRACEPOINT_EVENT(ext4_begin_ordered_truncate
,
103 TP_PROTO(struct inode
*inode
, loff_t new_size
),
105 TP_ARGS(inode
, new_size
),
108 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
109 ctf_integer(ino_t
, ino
, inode
->i_ino
)
110 ctf_integer(loff_t
, new_size
, new_size
)
114 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,19,0))
115 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_begin
,
117 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
),
119 TP_ARGS(inode
, pos
, len
),
122 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
123 ctf_integer(ino_t
, ino
, inode
->i_ino
)
124 ctf_integer(loff_t
, pos
, pos
)
125 ctf_integer(unsigned int, len
, len
)
129 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin
, ext4_write_begin
,
131 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
),
133 TP_ARGS(inode
, pos
, len
)
136 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin
, ext4_da_write_begin
,
138 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
),
140 TP_ARGS(inode
, pos
, len
)
143 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_begin
,
145 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
148 TP_ARGS(inode
, pos
, len
, flags
),
151 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
152 ctf_integer(ino_t
, ino
, inode
->i_ino
)
153 ctf_integer(loff_t
, pos
, pos
)
154 ctf_integer(unsigned int, len
, len
)
155 ctf_integer(unsigned int, flags
, flags
)
159 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin
, ext4_write_begin
,
161 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
164 TP_ARGS(inode
, pos
, len
, flags
)
167 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin
, ext4_da_write_begin
,
169 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
172 TP_ARGS(inode
, pos
, len
, flags
)
174 #endif /* (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,19,0)) */
176 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_end
,
177 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
178 unsigned int copied
),
180 TP_ARGS(inode
, pos
, len
, copied
),
183 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
184 ctf_integer(ino_t
, ino
, inode
->i_ino
)
185 ctf_integer(loff_t
, pos
, pos
)
186 ctf_integer(unsigned int, len
, len
)
187 ctf_integer(unsigned int, copied
, copied
)
191 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end
, ext4_ordered_write_end
,
193 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
194 unsigned int copied
),
196 TP_ARGS(inode
, pos
, len
, copied
)
199 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end
, ext4_writeback_write_end
,
201 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
202 unsigned int copied
),
204 TP_ARGS(inode
, pos
, len
, copied
)
207 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end
, ext4_journalled_write_end
,
209 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
210 unsigned int copied
),
212 TP_ARGS(inode
, pos
, len
, copied
)
215 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end
, ext4_da_write_end
,
217 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
218 unsigned int copied
),
220 TP_ARGS(inode
, pos
, len
, copied
)
223 LTTNG_TRACEPOINT_EVENT(ext4_da_writepages
,
224 TP_PROTO(struct inode
*inode
, struct writeback_control
*wbc
),
229 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
230 ctf_integer(ino_t
, ino
, inode
->i_ino
)
231 ctf_integer(long, nr_to_write
, wbc
->nr_to_write
)
232 ctf_integer(long, pages_skipped
, wbc
->pages_skipped
)
233 ctf_integer(loff_t
, range_start
, wbc
->range_start
)
234 ctf_integer(loff_t
, range_end
, wbc
->range_end
)
235 ctf_integer(pgoff_t
, writeback_index
, inode
->i_mapping
->writeback_index
)
236 ctf_integer(int, sync_mode
, wbc
->sync_mode
)
237 ctf_integer(char, for_kupdate
, wbc
->for_kupdate
)
238 ctf_integer(char, range_cyclic
, wbc
->range_cyclic
)
242 LTTNG_TRACEPOINT_EVENT(ext4_da_write_pages
,
243 TP_PROTO(struct inode
*inode
, pgoff_t first_page
,
244 struct writeback_control
*wbc
),
246 TP_ARGS(inode
, first_page
, wbc
),
249 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
250 ctf_integer(ino_t
, ino
, inode
->i_ino
)
251 ctf_integer(pgoff_t
, first_page
, first_page
)
252 ctf_integer(long, nr_to_write
, wbc
->nr_to_write
)
253 ctf_integer(int, sync_mode
, wbc
->sync_mode
)
257 LTTNG_TRACEPOINT_EVENT(ext4_da_write_pages_extent
,
258 TP_PROTO(struct inode
*inode
, struct ext4_map_blocks
*map
),
263 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
264 ctf_integer(ino_t
, ino
, inode
->i_ino
)
265 ctf_integer(__u64
, lblk
, map
->m_lblk
)
266 ctf_integer(__u32
, len
, map
->m_len
)
267 ctf_integer(__u32
, flags
, map
->m_flags
)
271 LTTNG_TRACEPOINT_EVENT(ext4_da_writepages_result
,
272 TP_PROTO(struct inode
*inode
, struct writeback_control
*wbc
,
273 int ret
, int pages_written
),
275 TP_ARGS(inode
, wbc
, ret
, pages_written
),
278 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
279 ctf_integer(ino_t
, ino
, inode
->i_ino
)
280 ctf_integer(int, ret
, ret
)
281 ctf_integer(int, pages_written
, pages_written
)
282 ctf_integer(long, pages_skipped
, wbc
->pages_skipped
)
283 ctf_integer(pgoff_t
, writeback_index
, inode
->i_mapping
->writeback_index
)
284 ctf_integer(int, sync_mode
, wbc
->sync_mode
)
288 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__page_op
,
289 TP_PROTO(struct page
*page
),
294 ctf_integer(dev_t
, dev
, page
->mapping
->host
->i_sb
->s_dev
)
295 ctf_integer(ino_t
, ino
, page
->mapping
->host
->i_ino
)
296 ctf_integer(pgoff_t
, index
, page
->index
)
300 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op
, ext4_writepage
,
302 TP_PROTO(struct page
*page
),
307 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op
, ext4_readpage
,
309 TP_PROTO(struct page
*page
),
314 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op
, ext4_releasepage
,
316 TP_PROTO(struct page
*page
),
321 LTTNG_TRACEPOINT_EVENT_CLASS(ext4_invalidatepage_op
,
322 TP_PROTO(struct page
*page
, unsigned int offset
, unsigned int length
),
324 TP_ARGS(page
, offset
, length
),
327 ctf_integer(dev_t
, dev
, page
->mapping
->host
->i_sb
->s_dev
)
328 ctf_integer(ino_t
, ino
, page
->mapping
->host
->i_ino
)
329 ctf_integer(pgoff_t
, index
, page
->index
)
330 ctf_integer(unsigned int, offset
, offset
)
331 ctf_integer(unsigned int, length
, length
)
335 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4_invalidatepage_op
, ext4_invalidatepage
,
336 TP_PROTO(struct page
*page
, unsigned int offset
, unsigned int length
),
338 TP_ARGS(page
, offset
, length
)
341 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4_invalidatepage_op
, ext4_journalled_invalidatepage
,
342 TP_PROTO(struct page
*page
, unsigned int offset
, unsigned int length
),
344 TP_ARGS(page
, offset
, length
)
347 LTTNG_TRACEPOINT_EVENT(ext4_discard_blocks
,
348 TP_PROTO(struct super_block
*sb
, unsigned long long blk
,
349 unsigned long long count
),
351 TP_ARGS(sb
, blk
, count
),
354 ctf_integer(dev_t
, dev
, sb
->s_dev
)
355 ctf_integer(__u64
, blk
, blk
)
356 ctf_integer(__u64
, count
, count
)
360 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__mb_new_pa
,
361 TP_PROTO(struct ext4_allocation_context
*ac
,
362 struct ext4_prealloc_space
*pa
),
367 ctf_integer(dev_t
, dev
, ac
->ac_sb
->s_dev
)
368 ctf_integer(ino_t
, ino
, ac
->ac_inode
->i_ino
)
369 ctf_integer(__u64
, pa_pstart
, pa
->pa_pstart
)
370 ctf_integer(__u64
, pa_lstart
, pa
->pa_lstart
)
371 ctf_integer(__u32
, pa_len
, pa
->pa_len
)
375 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mb_new_pa
, ext4_mb_new_inode_pa
,
377 TP_PROTO(struct ext4_allocation_context
*ac
,
378 struct ext4_prealloc_space
*pa
),
383 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mb_new_pa
, ext4_mb_new_group_pa
,
385 TP_PROTO(struct ext4_allocation_context
*ac
,
386 struct ext4_prealloc_space
*pa
),
391 LTTNG_TRACEPOINT_EVENT(ext4_mb_release_inode_pa
,
393 struct ext4_prealloc_space
*pa
,
394 unsigned long long block
, unsigned int count
),
396 TP_ARGS(pa
, block
, count
),
399 ctf_integer(dev_t
, dev
, pa
->pa_inode
->i_sb
->s_dev
)
400 ctf_integer(ino_t
, ino
, pa
->pa_inode
->i_ino
)
401 ctf_integer(__u64
, block
, block
)
402 ctf_integer(__u32
, count
, count
)
406 LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa
,
408 TP_PROTO(struct super_block
*sb
, struct ext4_prealloc_space
*pa
),
413 ctf_integer(dev_t
, dev
, sb
->s_dev
)
414 ctf_integer(__u64
, pa_pstart
, pa
->pa_pstart
)
415 ctf_integer(__u32
, pa_len
, pa
->pa_len
)
419 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,8,0))
420 LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations
,
421 TP_PROTO(struct inode
*inode
, unsigned int len
),
426 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
427 ctf_integer(ino_t
, ino
, inode
->i_ino
)
428 ctf_integer(unsigned int, len
, len
)
431 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0) || \
432 LTTNG_KERNEL_RANGE(5,8,6, 5,9,0))
433 LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations
,
434 TP_PROTO(struct inode
*inode
, unsigned int len
, unsigned int needed
),
436 TP_ARGS(inode
, len
, needed
),
439 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
440 ctf_integer(ino_t
, ino
, inode
->i_ino
)
441 ctf_integer(unsigned int, len
, len
)
442 ctf_integer(unsigned int, needed
, needed
)
446 LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations
,
447 TP_PROTO(struct inode
*inode
),
452 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
453 ctf_integer(ino_t
, ino
, inode
->i_ino
)
458 LTTNG_TRACEPOINT_EVENT(ext4_mb_discard_preallocations
,
459 TP_PROTO(struct super_block
*sb
, int needed
),
464 ctf_integer(dev_t
, dev
, sb
->s_dev
)
465 ctf_integer(int, needed
, needed
)
469 LTTNG_TRACEPOINT_EVENT(ext4_request_blocks
,
470 TP_PROTO(struct ext4_allocation_request
*ar
),
475 ctf_integer(dev_t
, dev
, ar
->inode
->i_sb
->s_dev
)
476 ctf_integer(ino_t
, ino
, ar
->inode
->i_ino
)
477 ctf_integer(unsigned int, len
, ar
->len
)
478 ctf_integer(__u32
, logical
, ar
->logical
)
479 ctf_integer(__u32
, lleft
, ar
->lleft
)
480 ctf_integer(__u32
, lright
, ar
->lright
)
481 ctf_integer(__u64
, goal
, ar
->goal
)
482 ctf_integer(__u64
, pleft
, ar
->pleft
)
483 ctf_integer(__u64
, pright
, ar
->pright
)
484 ctf_integer(unsigned int, flags
, ar
->flags
)
488 LTTNG_TRACEPOINT_EVENT(ext4_allocate_blocks
,
489 TP_PROTO(struct ext4_allocation_request
*ar
, unsigned long long block
),
494 ctf_integer(dev_t
, dev
, ar
->inode
->i_sb
->s_dev
)
495 ctf_integer(ino_t
, ino
, ar
->inode
->i_ino
)
496 ctf_integer(__u64
, block
, block
)
497 ctf_integer(unsigned int, len
, ar
->len
)
498 ctf_integer(__u32
, logical
, ar
->logical
)
499 ctf_integer(__u32
, lleft
, ar
->lleft
)
500 ctf_integer(__u32
, lright
, ar
->lright
)
501 ctf_integer(__u64
, goal
, ar
->goal
)
502 ctf_integer(__u64
, pleft
, ar
->pleft
)
503 ctf_integer(__u64
, pright
, ar
->pright
)
504 ctf_integer(unsigned int, flags
, ar
->flags
)
508 LTTNG_TRACEPOINT_EVENT(ext4_free_blocks
,
509 TP_PROTO(struct inode
*inode
, __u64 block
, unsigned long count
,
512 TP_ARGS(inode
, block
, count
, flags
),
515 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
516 ctf_integer(ino_t
, ino
, inode
->i_ino
)
517 ctf_integer(__u64
, block
, block
)
518 ctf_integer(unsigned long, count
, count
)
519 ctf_integer(int, flags
, flags
)
520 ctf_integer(TP_MODE_T
, mode
, inode
->i_mode
)
524 LTTNG_TRACEPOINT_EVENT(ext4_sync_file_enter
,
525 TP_PROTO(struct file
*file
, int datasync
),
527 TP_ARGS(file
, datasync
),
530 ctf_integer(dev_t
, dev
, file
->f_path
.dentry
->d_inode
->i_sb
->s_dev
)
531 ctf_integer(ino_t
, ino
, file
->f_path
.dentry
->d_inode
->i_ino
)
532 ctf_integer(ino_t
, parent
, file
->f_path
.dentry
->d_parent
->d_inode
->i_ino
)
533 ctf_integer(int, datasync
, datasync
)
537 LTTNG_TRACEPOINT_EVENT(ext4_sync_file_exit
,
538 TP_PROTO(struct inode
*inode
, int ret
),
543 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
544 ctf_integer(ino_t
, ino
, inode
->i_ino
)
545 ctf_integer(int, ret
, ret
)
549 LTTNG_TRACEPOINT_EVENT(ext4_sync_fs
,
550 TP_PROTO(struct super_block
*sb
, int wait
),
555 ctf_integer(dev_t
, dev
, sb
->s_dev
)
556 ctf_integer(int, wait
, wait
)
561 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0))
562 LTTNG_TRACEPOINT_EVENT(ext4_alloc_da_blocks
,
563 TP_PROTO(struct inode
*inode
),
568 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
569 ctf_integer(ino_t
, ino
, inode
->i_ino
)
570 ctf_integer(unsigned int, data_blocks
, EXT4_I(inode
)->i_reserved_data_blocks
)
574 LTTNG_TRACEPOINT_EVENT(ext4_alloc_da_blocks
,
575 TP_PROTO(struct inode
*inode
),
580 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
581 ctf_integer(ino_t
, ino
, inode
->i_ino
)
582 ctf_integer(unsigned int, data_blocks
, EXT4_I(inode
)->i_reserved_data_blocks
)
583 ctf_integer(unsigned int, meta_blocks
, EXT4_I(inode
)->i_reserved_meta_blocks
)
588 LTTNG_TRACEPOINT_EVENT(ext4_mballoc_alloc
,
589 TP_PROTO(struct ext4_allocation_context
*ac
),
594 ctf_integer(dev_t
, dev
, ac
->ac_inode
->i_sb
->s_dev
)
595 ctf_integer(ino_t
, ino
, ac
->ac_inode
->i_ino
)
596 ctf_integer(__u32
, orig_logical
, ac
->ac_o_ex
.fe_logical
)
597 ctf_integer(int, orig_start
, ac
->ac_o_ex
.fe_start
)
598 ctf_integer(__u32
, orig_group
, ac
->ac_o_ex
.fe_group
)
599 ctf_integer(int, orig_len
, ac
->ac_o_ex
.fe_len
)
600 ctf_integer(__u32
, goal_logical
, ac
->ac_g_ex
.fe_logical
)
601 ctf_integer(int, goal_start
, ac
->ac_g_ex
.fe_start
)
602 ctf_integer(__u32
, goal_group
, ac
->ac_g_ex
.fe_group
)
603 ctf_integer(int, goal_len
, ac
->ac_g_ex
.fe_len
)
604 ctf_integer(__u32
, result_logical
, ac
->ac_f_ex
.fe_logical
)
605 ctf_integer(int, result_start
, ac
->ac_f_ex
.fe_start
)
606 ctf_integer(__u32
, result_group
, ac
->ac_f_ex
.fe_group
)
607 ctf_integer(int, result_len
, ac
->ac_f_ex
.fe_len
)
608 ctf_integer(__u16
, found
, ac
->ac_found
)
609 ctf_integer(__u16
, groups
, ac
->ac_groups_scanned
)
610 ctf_integer(__u16
, buddy
, ac
->ac_buddy
)
611 ctf_integer(__u16
, flags
, ac
->ac_flags
)
612 ctf_integer(__u16
, tail
, ac
->ac_tail
)
613 ctf_integer(__u8
, cr
, ac
->ac_criteria
)
617 LTTNG_TRACEPOINT_EVENT(ext4_mballoc_prealloc
,
618 TP_PROTO(struct ext4_allocation_context
*ac
),
623 ctf_integer(dev_t
, dev
, ac
->ac_inode
->i_sb
->s_dev
)
624 ctf_integer(ino_t
, ino
, ac
->ac_inode
->i_ino
)
625 ctf_integer(__u32
, orig_logical
, ac
->ac_o_ex
.fe_logical
)
626 ctf_integer(int, orig_start
, ac
->ac_o_ex
.fe_start
)
627 ctf_integer(__u32
, orig_group
, ac
->ac_o_ex
.fe_group
)
628 ctf_integer(int, orig_len
, ac
->ac_o_ex
.fe_len
)
629 ctf_integer(__u32
, result_logical
, ac
->ac_b_ex
.fe_logical
)
630 ctf_integer(int, result_start
, ac
->ac_b_ex
.fe_start
)
631 ctf_integer(__u32
, result_group
, ac
->ac_b_ex
.fe_group
)
632 ctf_integer(int, result_len
, ac
->ac_b_ex
.fe_len
)
636 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__mballoc
,
637 TP_PROTO(struct super_block
*sb
,
643 TP_ARGS(sb
, inode
, group
, start
, len
),
646 ctf_integer(dev_t
, dev
, sb
->s_dev
)
647 ctf_integer(ino_t
, ino
, inode
? inode
->i_ino
: 0)
648 ctf_integer(int, result_start
, start
)
649 ctf_integer(__u32
, result_group
, group
)
650 ctf_integer(int, result_len
, len
)
654 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc
, ext4_mballoc_discard
,
656 TP_PROTO(struct super_block
*sb
,
662 TP_ARGS(sb
, inode
, group
, start
, len
)
665 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc
, ext4_mballoc_free
,
667 TP_PROTO(struct super_block
*sb
,
673 TP_ARGS(sb
, inode
, group
, start
, len
)
676 LTTNG_TRACEPOINT_EVENT(ext4_forget
,
677 TP_PROTO(struct inode
*inode
, int is_metadata
, __u64 block
),
679 TP_ARGS(inode
, is_metadata
, block
),
682 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
683 ctf_integer(ino_t
, ino
, inode
->i_ino
)
684 ctf_integer(__u64
, block
, block
)
685 ctf_integer(int, is_metadata
, is_metadata
)
686 ctf_integer(TP_MODE_T
, mode
, inode
->i_mode
)
690 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0))
691 LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space
,
692 TP_PROTO(struct inode
*inode
, int used_blocks
, int quota_claim
),
694 TP_ARGS(inode
, used_blocks
, quota_claim
),
697 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
698 ctf_integer(ino_t
, ino
, inode
->i_ino
)
699 ctf_integer(__u64
, i_blocks
, inode
->i_blocks
)
700 ctf_integer(int, used_blocks
, used_blocks
)
701 ctf_integer(int, reserved_data_blocks
,
702 EXT4_I(inode
)->i_reserved_data_blocks
)
703 ctf_integer(int, quota_claim
, quota_claim
)
704 ctf_integer(TP_MODE_T
, mode
, inode
->i_mode
)
708 LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space
,
709 TP_PROTO(struct inode
*inode
, int used_blocks
, int quota_claim
),
711 TP_ARGS(inode
, used_blocks
, quota_claim
),
714 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
715 ctf_integer(ino_t
, ino
, inode
->i_ino
)
716 ctf_integer(__u64
, i_blocks
, inode
->i_blocks
)
717 ctf_integer(int, used_blocks
, used_blocks
)
718 ctf_integer(int, reserved_data_blocks
,
719 EXT4_I(inode
)->i_reserved_data_blocks
)
720 ctf_integer(int, reserved_meta_blocks
,
721 EXT4_I(inode
)->i_reserved_meta_blocks
)
722 ctf_integer(int, allocated_meta_blocks
,
723 EXT4_I(inode
)->i_allocated_meta_blocks
)
724 ctf_integer(int, quota_claim
, quota_claim
)
725 ctf_integer(TP_MODE_T
, mode
, inode
->i_mode
)
730 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0))
731 LTTNG_TRACEPOINT_EVENT(ext4_da_reserve_space
,
732 TP_PROTO(struct inode
*inode
),
737 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
738 ctf_integer(ino_t
, ino
, inode
->i_ino
)
739 ctf_integer(__u64
, i_blocks
, inode
->i_blocks
)
740 ctf_integer(int, reserved_data_blocks
,
741 EXT4_I(inode
)->i_reserved_data_blocks
)
742 ctf_integer(TP_MODE_T
, mode
, inode
->i_mode
)
746 LTTNG_TRACEPOINT_EVENT(ext4_da_reserve_space
,
747 TP_PROTO(struct inode
*inode
),
752 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
753 ctf_integer(ino_t
, ino
, inode
->i_ino
)
754 ctf_integer(__u64
, i_blocks
, inode
->i_blocks
)
755 ctf_integer(int, reserved_data_blocks
,
756 EXT4_I(inode
)->i_reserved_data_blocks
)
757 ctf_integer(int, reserved_meta_blocks
,
758 EXT4_I(inode
)->i_reserved_meta_blocks
)
759 ctf_integer(TP_MODE_T
, mode
, inode
->i_mode
)
764 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0))
765 LTTNG_TRACEPOINT_EVENT(ext4_da_release_space
,
766 TP_PROTO(struct inode
*inode
, int freed_blocks
),
768 TP_ARGS(inode
, freed_blocks
),
771 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
772 ctf_integer(ino_t
, ino
, inode
->i_ino
)
773 ctf_integer(__u64
, i_blocks
, inode
->i_blocks
)
774 ctf_integer(int, freed_blocks
, freed_blocks
)
775 ctf_integer(int, reserved_data_blocks
,
776 EXT4_I(inode
)->i_reserved_data_blocks
)
777 ctf_integer(TP_MODE_T
, mode
, inode
->i_mode
)
781 LTTNG_TRACEPOINT_EVENT(ext4_da_release_space
,
782 TP_PROTO(struct inode
*inode
, int freed_blocks
),
784 TP_ARGS(inode
, freed_blocks
),
787 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
788 ctf_integer(ino_t
, ino
, inode
->i_ino
)
789 ctf_integer(__u64
, i_blocks
, inode
->i_blocks
)
790 ctf_integer(int, freed_blocks
, freed_blocks
)
791 ctf_integer(int, reserved_data_blocks
,
792 EXT4_I(inode
)->i_reserved_data_blocks
)
793 ctf_integer(int, reserved_meta_blocks
,
794 EXT4_I(inode
)->i_reserved_meta_blocks
)
795 ctf_integer(int, allocated_meta_blocks
,
796 EXT4_I(inode
)->i_allocated_meta_blocks
)
797 ctf_integer(TP_MODE_T
, mode
, inode
->i_mode
)
802 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__bitmap_load
,
803 TP_PROTO(struct super_block
*sb
, unsigned long group
),
808 ctf_integer(dev_t
, dev
, sb
->s_dev
)
809 ctf_integer(__u32
, group
, group
)
813 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load
, ext4_mb_bitmap_load
,
815 TP_PROTO(struct super_block
*sb
, unsigned long group
),
820 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load
, ext4_mb_buddy_bitmap_load
,
822 TP_PROTO(struct super_block
*sb
, unsigned long group
),
827 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0))
828 LTTNG_TRACEPOINT_EVENT(ext4_read_block_bitmap_load
,
829 TP_PROTO(struct super_block
*sb
, unsigned long group
, bool prefetch
),
831 TP_ARGS(sb
, group
, prefetch
),
834 ctf_integer(dev_t
, dev
, sb
->s_dev
)
835 ctf_integer(__u32
, group
, group
)
836 ctf_integer(bool, prefetch
, prefetch
)
840 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load
, ext4_read_block_bitmap_load
,
842 TP_PROTO(struct super_block
*sb
, unsigned long group
),
848 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load
, ext4_load_inode_bitmap
,
850 TP_PROTO(struct super_block
*sb
, unsigned long group
),
855 LTTNG_TRACEPOINT_EVENT(ext4_direct_IO_enter
,
856 TP_PROTO(struct inode
*inode
, loff_t offset
, unsigned long len
, int rw
),
858 TP_ARGS(inode
, offset
, len
, rw
),
861 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
862 ctf_integer(ino_t
, ino
, inode
->i_ino
)
863 ctf_integer(loff_t
, pos
, offset
)
864 ctf_integer(unsigned long, len
, len
)
865 ctf_integer(int, rw
, rw
)
869 LTTNG_TRACEPOINT_EVENT(ext4_direct_IO_exit
,
870 TP_PROTO(struct inode
*inode
, loff_t offset
, unsigned long len
,
873 TP_ARGS(inode
, offset
, len
, rw
, ret
),
876 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
877 ctf_integer(ino_t
, ino
, inode
->i_ino
)
878 ctf_integer(loff_t
, pos
, offset
)
879 ctf_integer(unsigned long, len
, len
)
880 ctf_integer(int, rw
, rw
)
881 ctf_integer(int, ret
, ret
)
885 LTTNG_TRACEPOINT_EVENT(ext4_fallocate_exit
,
886 TP_PROTO(struct inode
*inode
, loff_t offset
,
887 unsigned int max_blocks
, int ret
),
889 TP_ARGS(inode
, offset
, max_blocks
, ret
),
892 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
893 ctf_integer(ino_t
, ino
, inode
->i_ino
)
894 ctf_integer(loff_t
, pos
, offset
)
895 ctf_integer(unsigned int, blocks
, max_blocks
)
896 ctf_integer(int, ret
, ret
)
900 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__fallocate_mode
,
901 TP_PROTO(struct inode
*inode
, loff_t offset
, loff_t len
, int mode
),
903 TP_ARGS(inode
, offset
, len
, mode
),
906 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
907 ctf_integer(ino_t
, ino
, inode
->i_ino
)
908 ctf_integer(loff_t
, pos
, offset
)
909 ctf_integer(loff_t
, len
, len
)
910 ctf_integer(int, mode
, mode
)
914 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode
, ext4_fallocate_enter
,
916 TP_PROTO(struct inode
*inode
, loff_t offset
, loff_t len
, int mode
),
918 TP_ARGS(inode
, offset
, len
, mode
)
921 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode
, ext4_punch_hole
,
923 TP_PROTO(struct inode
*inode
, loff_t offset
, loff_t len
, int mode
),
925 TP_ARGS(inode
, offset
, len
, mode
)
928 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode
, ext4_zero_range
,
930 TP_PROTO(struct inode
*inode
, loff_t offset
, loff_t len
, int mode
),
932 TP_ARGS(inode
, offset
, len
, mode
)
935 LTTNG_TRACEPOINT_EVENT(ext4_unlink_enter
,
936 TP_PROTO(struct inode
*parent
, struct dentry
*dentry
),
938 TP_ARGS(parent
, dentry
),
941 ctf_integer(dev_t
, dev
, dentry
->d_inode
->i_sb
->s_dev
)
942 ctf_integer(ino_t
, ino
, dentry
->d_inode
->i_ino
)
943 ctf_integer(ino_t
, parent
, parent
->i_ino
)
944 ctf_integer(loff_t
, size
, dentry
->d_inode
->i_size
)
948 LTTNG_TRACEPOINT_EVENT(ext4_unlink_exit
,
949 TP_PROTO(struct dentry
*dentry
, int ret
),
951 TP_ARGS(dentry
, ret
),
954 ctf_integer(dev_t
, dev
, dentry
->d_inode
->i_sb
->s_dev
)
955 ctf_integer(ino_t
, ino
, dentry
->d_inode
->i_ino
)
956 ctf_integer(int, ret
, ret
)
960 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__truncate
,
961 TP_PROTO(struct inode
*inode
),
966 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
967 ctf_integer(ino_t
, ino
, inode
->i_ino
)
968 ctf_integer(unsigned int, blocks
, inode
->i_blocks
)
972 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__truncate
, ext4_truncate_enter
,
974 TP_PROTO(struct inode
*inode
),
979 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__truncate
, ext4_truncate_exit
,
981 TP_PROTO(struct inode
*inode
),
986 /* 'ux' is the uninitialized extent. */
987 LTTNG_TRACEPOINT_EVENT(ext4_ext_convert_to_initialized_enter
,
988 TP_PROTO(struct inode
*inode
, struct ext4_map_blocks
*map
,
989 struct ext4_extent
*ux
),
991 TP_ARGS(inode
, map
, ux
),
994 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
995 ctf_integer(ino_t
, ino
, inode
->i_ino
)
996 ctf_integer(ext4_lblk_t
, m_lblk
, map
->m_lblk
)
997 ctf_integer(unsigned, m_len
, map
->m_len
)
998 ctf_integer(ext4_lblk_t
, u_lblk
, le32_to_cpu(ux
->ee_block
))
999 ctf_integer(unsigned, u_len
, ext4_ext_get_actual_len(ux
))
1000 ctf_integer(ext4_fsblk_t
, u_pblk
, ext4_ext_pblock(ux
))
1005 * 'ux' is the uninitialized extent.
1006 * 'ix' is the initialized extent to which blocks are transferred.
1008 LTTNG_TRACEPOINT_EVENT(ext4_ext_convert_to_initialized_fastpath
,
1009 TP_PROTO(struct inode
*inode
, struct ext4_map_blocks
*map
,
1010 struct ext4_extent
*ux
, struct ext4_extent
*ix
),
1012 TP_ARGS(inode
, map
, ux
, ix
),
1015 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1016 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1017 ctf_integer(ext4_lblk_t
, m_lblk
, map
->m_lblk
)
1018 ctf_integer(unsigned, m_len
, map
->m_len
)
1019 ctf_integer(ext4_lblk_t
, u_lblk
, le32_to_cpu(ux
->ee_block
))
1020 ctf_integer(unsigned, u_len
, ext4_ext_get_actual_len(ux
))
1021 ctf_integer(ext4_fsblk_t
, u_pblk
, ext4_ext_pblock(ux
))
1022 ctf_integer(ext4_lblk_t
, i_lblk
, le32_to_cpu(ix
->ee_block
))
1023 ctf_integer(unsigned, i_len
, ext4_ext_get_actual_len(ix
))
1024 ctf_integer(ext4_fsblk_t
, i_pblk
, ext4_ext_pblock(ix
))
1028 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__map_blocks_enter
,
1029 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
,
1030 unsigned int len
, unsigned int flags
),
1032 TP_ARGS(inode
, lblk
, len
, flags
),
1035 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1036 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1037 ctf_integer(ext4_lblk_t
, lblk
, lblk
)
1038 ctf_integer(unsigned int, len
, len
)
1039 ctf_integer(unsigned int, flags
, flags
)
1043 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_enter
, ext4_ext_map_blocks_enter
,
1044 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
,
1045 unsigned len
, unsigned flags
),
1047 TP_ARGS(inode
, lblk
, len
, flags
)
1050 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_enter
, ext4_ind_map_blocks_enter
,
1051 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
,
1052 unsigned len
, unsigned flags
),
1054 TP_ARGS(inode
, lblk
, len
, flags
)
1057 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__map_blocks_exit
,
1058 TP_PROTO(struct inode
*inode
, unsigned flags
, struct ext4_map_blocks
*map
,
1061 TP_ARGS(inode
, flags
, map
, ret
),
1064 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1065 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1066 ctf_integer(unsigned int, flags
, flags
)
1067 ctf_integer(ext4_fsblk_t
, pblk
, map
->m_pblk
)
1068 ctf_integer(ext4_lblk_t
, lblk
, map
->m_lblk
)
1069 ctf_integer(unsigned int, len
, map
->m_len
)
1070 ctf_integer(unsigned int, mflags
, map
->m_flags
)
1071 ctf_integer(int, ret
, ret
)
1075 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit
, ext4_ext_map_blocks_exit
,
1076 TP_PROTO(struct inode
*inode
, unsigned flags
,
1077 struct ext4_map_blocks
*map
, int ret
),
1079 TP_ARGS(inode
, flags
, map
, ret
)
1082 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit
, ext4_ind_map_blocks_exit
,
1083 TP_PROTO(struct inode
*inode
, unsigned flags
,
1084 struct ext4_map_blocks
*map
, int ret
),
1086 TP_ARGS(inode
, flags
, map
, ret
)
1089 LTTNG_TRACEPOINT_EVENT(ext4_ext_load_extent
,
1090 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
, ext4_fsblk_t pblk
),
1092 TP_ARGS(inode
, lblk
, pblk
),
1095 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1096 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1097 ctf_integer(ext4_fsblk_t
, pblk
, pblk
)
1098 ctf_integer(ext4_lblk_t
, lblk
, lblk
)
1102 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0))
1103 LTTNG_TRACEPOINT_EVENT(ext4_load_inode
,
1104 TP_PROTO(struct super_block
*sb
, unsigned long ino
),
1109 ctf_integer(dev_t
, dev
, sb
->s_dev
)
1110 ctf_integer(ino_t
, ino
, ino
)
1114 LTTNG_TRACEPOINT_EVENT(ext4_load_inode
,
1115 TP_PROTO(struct inode
*inode
),
1120 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1121 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1126 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0) || \
1127 LTTNG_RHEL_KERNEL_RANGE(4,18,0,240,15,1, 4,19,0,0,0,0))
1129 LTTNG_TRACEPOINT_EVENT(ext4_journal_start
,
1130 TP_PROTO(struct super_block
*sb
, int blocks
, int rsv_blocks
,
1131 int revoke_creds
, unsigned long IP
),
1133 TP_ARGS(sb
, blocks
, rsv_blocks
, revoke_creds
, IP
),
1136 ctf_integer(dev_t
, dev
, sb
->s_dev
)
1137 ctf_integer_hex(unsigned long, ip
, IP
)
1138 ctf_integer(int, blocks
, blocks
)
1139 ctf_integer(int, rsv_blocks
, rsv_blocks
)
1140 ctf_integer(int, revoke_creds
, revoke_creds
)
1144 LTTNG_TRACEPOINT_EVENT(ext4_journal_start_reserved
,
1145 TP_PROTO(struct super_block
*sb
, int blocks
, unsigned long IP
),
1147 TP_ARGS(sb
, blocks
, IP
),
1150 ctf_integer(dev_t
, dev
, sb
->s_dev
)
1151 ctf_integer_hex(unsigned long, ip
, IP
)
1152 ctf_integer(int, blocks
, blocks
)
1158 LTTNG_TRACEPOINT_EVENT(ext4_journal_start
,
1159 TP_PROTO(struct super_block
*sb
, int blocks
, int rsv_blocks
,
1162 TP_ARGS(sb
, blocks
, rsv_blocks
, IP
),
1165 ctf_integer(dev_t
, dev
, sb
->s_dev
)
1166 ctf_integer_hex(unsigned long, ip
, IP
)
1167 ctf_integer(int, blocks
, blocks
)
1168 ctf_integer(int, rsv_blocks
, rsv_blocks
)
1172 LTTNG_TRACEPOINT_EVENT(ext4_journal_start_reserved
,
1173 TP_PROTO(struct super_block
*sb
, int blocks
, unsigned long IP
),
1175 TP_ARGS(sb
, blocks
, IP
),
1178 ctf_integer(dev_t
, dev
, sb
->s_dev
)
1179 ctf_integer_hex(unsigned long, ip
, IP
)
1180 ctf_integer(int, blocks
, blocks
)
1185 LTTNG_TRACEPOINT_EVENT(ext4_ext_handle_uninitialized_extents
,
1186 TP_PROTO(struct inode
*inode
, struct ext4_map_blocks
*map
, int flags
,
1187 unsigned int allocated
, ext4_fsblk_t newblock
),
1189 TP_ARGS(inode
, map
, flags
, allocated
, newblock
),
1192 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1193 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1194 ctf_integer(int, flags
, flags
)
1195 ctf_integer(ext4_lblk_t
, lblk
, map
->m_lblk
)
1196 ctf_integer(ext4_fsblk_t
, pblk
, map
->m_pblk
)
1197 ctf_integer(unsigned int, len
, map
->m_len
)
1198 ctf_integer(unsigned int, allocated
, allocated
)
1199 ctf_integer(ext4_fsblk_t
, newblk
, newblock
)
1203 LTTNG_TRACEPOINT_EVENT(ext4_get_implied_cluster_alloc_exit
,
1204 TP_PROTO(struct super_block
*sb
, struct ext4_map_blocks
*map
, int ret
),
1206 TP_ARGS(sb
, map
, ret
),
1209 ctf_integer(dev_t
, dev
, sb
->s_dev
)
1210 ctf_integer(unsigned int, flags
, map
->m_flags
)
1211 ctf_integer(ext4_lblk_t
, lblk
, map
->m_lblk
)
1212 ctf_integer(ext4_fsblk_t
, pblk
, map
->m_pblk
)
1213 ctf_integer(unsigned int, len
, map
->m_len
)
1214 ctf_integer(int, ret
, ret
)
1218 LTTNG_TRACEPOINT_EVENT(ext4_ext_put_in_cache
,
1219 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
, unsigned int len
,
1220 ext4_fsblk_t start
),
1222 TP_ARGS(inode
, lblk
, len
, start
),
1225 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1226 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1227 ctf_integer(ext4_lblk_t
, lblk
, lblk
)
1228 ctf_integer(unsigned int, len
, len
)
1229 ctf_integer(ext4_fsblk_t
, start
, start
)
1233 LTTNG_TRACEPOINT_EVENT(ext4_ext_in_cache
,
1234 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
, int ret
),
1236 TP_ARGS(inode
, lblk
, ret
),
1239 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1240 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1241 ctf_integer(ext4_lblk_t
, lblk
, lblk
)
1242 ctf_integer(int, ret
, ret
)
1246 LTTNG_TRACEPOINT_EVENT(ext4_find_delalloc_range
,
1247 TP_PROTO(struct inode
*inode
, ext4_lblk_t from
, ext4_lblk_t to
,
1248 int reverse
, int found
, ext4_lblk_t found_blk
),
1250 TP_ARGS(inode
, from
, to
, reverse
, found
, found_blk
),
1253 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1254 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1255 ctf_integer(ext4_lblk_t
, from
, from
)
1256 ctf_integer(ext4_lblk_t
, to
, to
)
1257 ctf_integer(int, reverse
, reverse
)
1258 ctf_integer(int, found
, found
)
1259 ctf_integer(ext4_lblk_t
, found_blk
, found_blk
)
1263 LTTNG_TRACEPOINT_EVENT(ext4_get_reserved_cluster_alloc
,
1264 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
, unsigned int len
),
1266 TP_ARGS(inode
, lblk
, len
),
1269 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1270 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1271 ctf_integer(ext4_lblk_t
, lblk
, lblk
)
1272 ctf_integer(unsigned int, len
, len
)
1276 LTTNG_TRACEPOINT_EVENT(ext4_ext_show_extent
,
1277 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
, ext4_fsblk_t pblk
,
1278 unsigned short len
),
1280 TP_ARGS(inode
, lblk
, pblk
, len
),
1283 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1284 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1285 ctf_integer(ext4_fsblk_t
, pblk
, pblk
)
1286 ctf_integer(ext4_lblk_t
, lblk
, lblk
)
1287 ctf_integer(unsigned short, len
, len
)
1291 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0) || \
1292 LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0))
1294 LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks
,
1295 TP_PROTO(struct inode
*inode
, struct ext4_extent
*ex
,
1296 ext4_lblk_t from
, ext4_fsblk_t to
,
1297 struct partial_cluster
*pc
),
1299 TP_ARGS(inode
, ex
, from
, to
, pc
),
1302 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1303 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1304 ctf_integer(ext4_lblk_t
, from
, from
)
1305 ctf_integer(ext4_lblk_t
, to
, to
)
1306 ctf_integer(ext4_fsblk_t
, ee_pblk
, ext4_ext_pblock(ex
))
1307 ctf_integer(ext4_lblk_t
, ee_lblk
, le32_to_cpu(ex
->ee_block
))
1308 ctf_integer(unsigned short, ee_len
, ext4_ext_get_actual_len(ex
))
1309 ctf_integer(ext4_fsblk_t
, pc_pclu
, pc
->pclu
)
1310 ctf_integer(ext4_lblk_t
, pc_lblk
, pc
->lblk
)
1311 ctf_integer(int, pc_state
, pc
->state
)
1317 LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks
,
1318 TP_PROTO(struct inode
*inode
, struct ext4_extent
*ex
,
1319 ext4_lblk_t from
, ext4_fsblk_t to
,
1320 long long partial_cluster
),
1322 TP_ARGS(inode
, ex
, from
, to
, partial_cluster
),
1325 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1326 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1327 ctf_integer(ext4_lblk_t
, from
, from
)
1328 ctf_integer(ext4_lblk_t
, to
, to
)
1329 ctf_integer(long long, partial
, partial_cluster
)
1330 ctf_integer(ext4_fsblk_t
, ee_pblk
, ext4_ext_pblock(ex
))
1331 ctf_integer(ext4_lblk_t
, ee_lblk
, le32_to_cpu(ex
->ee_block
))
1332 ctf_integer(unsigned short, ee_len
, ext4_ext_get_actual_len(ex
))
1338 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0) || \
1339 LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0))
1341 LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf
,
1342 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
,
1343 struct ext4_extent
*ex
,
1344 struct partial_cluster
*pc
),
1346 TP_ARGS(inode
, start
, ex
, pc
),
1349 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1350 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1351 ctf_integer(ext4_lblk_t
, start
, start
)
1352 ctf_integer(ext4_lblk_t
, ee_lblk
, le32_to_cpu(ex
->ee_block
))
1353 ctf_integer(ext4_fsblk_t
, ee_pblk
, ext4_ext_pblock(ex
))
1354 ctf_integer(short, ee_len
, ext4_ext_get_actual_len(ex
))
1355 ctf_integer(ext4_fsblk_t
, pc_pclu
, pc
->pclu
)
1356 ctf_integer(ext4_lblk_t
, pc_lblk
, pc
->lblk
)
1357 ctf_integer(int, pc_state
, pc
->state
)
1363 LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf
,
1364 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
,
1365 struct ext4_extent
*ex
,
1366 long long partial_cluster
),
1368 TP_ARGS(inode
, start
, ex
, partial_cluster
),
1371 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1372 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1373 ctf_integer(long long, partial
, partial_cluster
)
1374 ctf_integer(ext4_lblk_t
, start
, start
)
1375 ctf_integer(ext4_lblk_t
, ee_lblk
, le32_to_cpu(ex
->ee_block
))
1376 ctf_integer(ext4_fsblk_t
, ee_pblk
, ext4_ext_pblock(ex
))
1377 ctf_integer(short, ee_len
, ext4_ext_get_actual_len(ex
))
1383 LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_idx
,
1384 TP_PROTO(struct inode
*inode
, ext4_fsblk_t pblk
),
1386 TP_ARGS(inode
, pblk
),
1389 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1390 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1391 ctf_integer(ext4_fsblk_t
, pblk
, pblk
)
1395 LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space
,
1396 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
,
1397 ext4_lblk_t end
, int depth
),
1399 TP_ARGS(inode
, start
, end
, depth
),
1402 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1403 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1404 ctf_integer(ext4_lblk_t
, start
, start
)
1405 ctf_integer(ext4_lblk_t
, end
, end
)
1406 ctf_integer(int, depth
, depth
)
1410 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0) || \
1411 LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0))
1413 LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done
,
1414 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
, ext4_lblk_t end
,
1415 int depth
, struct partial_cluster
*pc
, __le16 eh_entries
),
1417 TP_ARGS(inode
, start
, end
, depth
, pc
, eh_entries
),
1420 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1421 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1422 ctf_integer(ext4_lblk_t
, start
, start
)
1423 ctf_integer(ext4_lblk_t
, end
, end
)
1424 ctf_integer(int, depth
, depth
)
1425 ctf_integer(unsigned short, eh_entries
, le16_to_cpu(eh_entries
))
1426 ctf_integer(ext4_fsblk_t
, pc_pclu
, pc
->pclu
)
1427 ctf_integer(ext4_lblk_t
, pc_lblk
, pc
->lblk
)
1428 ctf_integer(int, pc_state
, pc
->state
)
1434 LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done
,
1435 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
, ext4_lblk_t end
,
1436 int depth
, long long partial
, __le16 eh_entries
),
1438 TP_ARGS(inode
, start
, end
, depth
, partial
, eh_entries
),
1441 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1442 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1443 ctf_integer(ext4_lblk_t
, start
, start
)
1444 ctf_integer(ext4_lblk_t
, end
, end
)
1445 ctf_integer(int, depth
, depth
)
1446 ctf_integer(long long, partial
, partial
)
1447 ctf_integer(unsigned short, eh_entries
, le16_to_cpu(eh_entries
))
1453 LTTNG_TRACEPOINT_EVENT_CLASS(ext4__es_extent
,
1454 TP_PROTO(struct inode
*inode
, struct extent_status
*es
),
1459 ctf_integer(dev_t
, dev
, inode
->i_sb
->s_dev
)
1460 ctf_integer(ino_t
, ino
, inode
->i_ino
)
1461 ctf_integer(ext4_lblk_t
, lblk
, es
->es_lblk
)
1462 ctf_integer(ext4_lblk_t
, len
, es
->es_len
)
1463 ctf_integer(ext4_fsblk_t
, pblk
, ext4_es_pblock(es
))
1464 ctf_integer(char, status
, ext4_es_status(es
))
1468 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__es_extent
, ext4_es_insert_extent
,
1469 TP_PROTO(struct inode
*inode
, struct extent_status
*es
),
1474 LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__es_extent
, ext4_es_cache_extent
,
1475 TP_PROTO(struct inode
*inode
, struct extent_status
*es
),
1480 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0))
1481 LTTNG_TRACEPOINT_EVENT(ext4_fc_replay_scan
,
1482 TP_PROTO(struct super_block
*sb
, int error
, int off
),
1484 TP_ARGS(sb
, error
, off
),
1487 ctf_integer(dev_t
, dev
, sb
->s_dev
)
1488 ctf_integer(int, error
, error
)
1489 ctf_integer(int, off
, off
)
1493 LTTNG_TRACEPOINT_EVENT(ext4_fc_replay
,
1494 TP_PROTO(struct super_block
*sb
, int tag
, int ino
, int priv1
, int priv2
),
1496 TP_ARGS(sb
, tag
, ino
, priv1
, priv2
),
1499 ctf_integer(dev_t
, dev
, sb
->s_dev
)
1500 ctf_integer(int, tag
, tag
)
1501 ctf_integer(int, ino
, ino
)
1502 ctf_integer(int, priv1
, priv1
)
1503 ctf_integer(int, priv2
, priv2
)
1508 #endif /* LTTNG_TRACE_EXT4_H */
1510 /* This part must be outside protection */
1511 #include <lttng/define_trace.h>