2 #define TRACE_SYSTEM ext4
4 #if !defined(_TRACE_EXT4_H) || defined(TRACE_HEADER_MULTI_READ)
7 #include <linux/writeback.h>
8 #include <linux/tracepoint.h>
10 struct ext4_allocation_context
;
11 struct ext4_allocation_request
;
13 struct ext4_prealloc_space
;
14 struct ext4_inode_info
;
16 struct ext4_map_blocks
;
20 #define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
22 TRACE_EVENT(ext4_free_inode
,
23 TP_PROTO(struct inode
*inode
),
32 __field( __u64
, blocks
)
33 __field( __u16
, mode
)
37 __entry
->dev
= inode
->i_sb
->s_dev
;
38 __entry
->ino
= inode
->i_ino
;
39 __entry
->uid
= i_uid_read(inode
);
40 __entry
->gid
= i_gid_read(inode
);
41 __entry
->blocks
= inode
->i_blocks
;
42 __entry
->mode
= inode
->i_mode
;
45 TP_printk("dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %llu",
46 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
47 (unsigned long) __entry
->ino
, __entry
->mode
,
48 __entry
->uid
, __entry
->gid
, __entry
->blocks
)
51 TRACE_EVENT(ext4_request_inode
,
52 TP_PROTO(struct inode
*dir
, int mode
),
59 __field( __u16
, mode
)
63 __entry
->dev
= dir
->i_sb
->s_dev
;
64 __entry
->dir
= dir
->i_ino
;
68 TP_printk("dev %d,%d dir %lu mode 0%o",
69 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
70 (unsigned long) __entry
->dir
, __entry
->mode
)
73 TRACE_EVENT(ext4_allocate_inode
,
74 TP_PROTO(struct inode
*inode
, struct inode
*dir
, int mode
),
76 TP_ARGS(inode
, dir
, mode
),
82 __field( __u16
, mode
)
86 __entry
->dev
= inode
->i_sb
->s_dev
;
87 __entry
->ino
= inode
->i_ino
;
88 __entry
->dir
= dir
->i_ino
;
92 TP_printk("dev %d,%d ino %lu dir %lu mode 0%o",
93 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
94 (unsigned long) __entry
->ino
,
95 (unsigned long) __entry
->dir
, __entry
->mode
)
98 TRACE_EVENT(ext4_evict_inode
,
99 TP_PROTO(struct inode
*inode
),
104 __field( dev_t
, dev
)
105 __field( ino_t
, ino
)
106 __field( int, nlink
)
110 __entry
->dev
= inode
->i_sb
->s_dev
;
111 __entry
->ino
= inode
->i_ino
;
112 __entry
->nlink
= inode
->i_nlink
;
115 TP_printk("dev %d,%d ino %lu nlink %d",
116 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
117 (unsigned long) __entry
->ino
, __entry
->nlink
)
120 TRACE_EVENT(ext4_drop_inode
,
121 TP_PROTO(struct inode
*inode
, int drop
),
123 TP_ARGS(inode
, drop
),
126 __field( dev_t
, dev
)
127 __field( ino_t
, ino
)
132 __entry
->dev
= inode
->i_sb
->s_dev
;
133 __entry
->ino
= inode
->i_ino
;
134 __entry
->drop
= drop
;
137 TP_printk("dev %d,%d ino %lu drop %d",
138 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
139 (unsigned long) __entry
->ino
, __entry
->drop
)
142 TRACE_EVENT(ext4_mark_inode_dirty
,
143 TP_PROTO(struct inode
*inode
, unsigned long IP
),
148 __field( dev_t
, dev
)
149 __field( ino_t
, ino
)
150 __field(unsigned long, ip
)
154 __entry
->dev
= inode
->i_sb
->s_dev
;
155 __entry
->ino
= inode
->i_ino
;
159 TP_printk("dev %d,%d ino %lu caller %pF",
160 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
161 (unsigned long) __entry
->ino
, (void *)__entry
->ip
)
164 TRACE_EVENT(ext4_begin_ordered_truncate
,
165 TP_PROTO(struct inode
*inode
, loff_t new_size
),
167 TP_ARGS(inode
, new_size
),
170 __field( dev_t
, dev
)
171 __field( ino_t
, ino
)
172 __field( loff_t
, new_size
)
176 __entry
->dev
= inode
->i_sb
->s_dev
;
177 __entry
->ino
= inode
->i_ino
;
178 __entry
->new_size
= new_size
;
181 TP_printk("dev %d,%d ino %lu new_size %lld",
182 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
183 (unsigned long) __entry
->ino
,
187 DECLARE_EVENT_CLASS(ext4__write_begin
,
189 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
192 TP_ARGS(inode
, pos
, len
, flags
),
195 __field( dev_t
, dev
)
196 __field( ino_t
, ino
)
197 __field( loff_t
, pos
)
198 __field( unsigned int, len
)
199 __field( unsigned int, flags
)
203 __entry
->dev
= inode
->i_sb
->s_dev
;
204 __entry
->ino
= inode
->i_ino
;
207 __entry
->flags
= flags
;
210 TP_printk("dev %d,%d ino %lu pos %lld len %u flags %u",
211 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
212 (unsigned long) __entry
->ino
,
213 __entry
->pos
, __entry
->len
, __entry
->flags
)
216 DEFINE_EVENT(ext4__write_begin
, ext4_write_begin
,
218 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
221 TP_ARGS(inode
, pos
, len
, flags
)
224 DEFINE_EVENT(ext4__write_begin
, ext4_da_write_begin
,
226 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
229 TP_ARGS(inode
, pos
, len
, flags
)
232 DECLARE_EVENT_CLASS(ext4__write_end
,
233 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
234 unsigned int copied
),
236 TP_ARGS(inode
, pos
, len
, copied
),
239 __field( dev_t
, dev
)
240 __field( ino_t
, ino
)
241 __field( loff_t
, pos
)
242 __field( unsigned int, len
)
243 __field( unsigned int, copied
)
247 __entry
->dev
= inode
->i_sb
->s_dev
;
248 __entry
->ino
= inode
->i_ino
;
251 __entry
->copied
= copied
;
254 TP_printk("dev %d,%d ino %lu pos %lld len %u copied %u",
255 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
256 (unsigned long) __entry
->ino
,
257 __entry
->pos
, __entry
->len
, __entry
->copied
)
260 DEFINE_EVENT(ext4__write_end
, ext4_ordered_write_end
,
262 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
263 unsigned int copied
),
265 TP_ARGS(inode
, pos
, len
, copied
)
268 DEFINE_EVENT(ext4__write_end
, ext4_writeback_write_end
,
270 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
271 unsigned int copied
),
273 TP_ARGS(inode
, pos
, len
, copied
)
276 DEFINE_EVENT(ext4__write_end
, ext4_journalled_write_end
,
278 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
279 unsigned int copied
),
281 TP_ARGS(inode
, pos
, len
, copied
)
284 DEFINE_EVENT(ext4__write_end
, ext4_da_write_end
,
286 TP_PROTO(struct inode
*inode
, loff_t pos
, unsigned int len
,
287 unsigned int copied
),
289 TP_ARGS(inode
, pos
, len
, copied
)
292 TRACE_EVENT(ext4_da_writepages
,
293 TP_PROTO(struct inode
*inode
, struct writeback_control
*wbc
),
298 __field( dev_t
, dev
)
299 __field( ino_t
, ino
)
300 __field( long, nr_to_write
)
301 __field( long, pages_skipped
)
302 __field( loff_t
, range_start
)
303 __field( loff_t
, range_end
)
304 __field( pgoff_t
, writeback_index
)
305 __field( int, sync_mode
)
306 __field( char, for_kupdate
)
307 __field( char, range_cyclic
)
311 __entry
->dev
= inode
->i_sb
->s_dev
;
312 __entry
->ino
= inode
->i_ino
;
313 __entry
->nr_to_write
= wbc
->nr_to_write
;
314 __entry
->pages_skipped
= wbc
->pages_skipped
;
315 __entry
->range_start
= wbc
->range_start
;
316 __entry
->range_end
= wbc
->range_end
;
317 __entry
->writeback_index
= inode
->i_mapping
->writeback_index
;
318 __entry
->sync_mode
= wbc
->sync_mode
;
319 __entry
->for_kupdate
= wbc
->for_kupdate
;
320 __entry
->range_cyclic
= wbc
->range_cyclic
;
323 TP_printk("dev %d,%d ino %lu nr_to_write %ld pages_skipped %ld "
324 "range_start %lld range_end %lld sync_mode %d "
325 "for_kupdate %d range_cyclic %d writeback_index %lu",
326 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
327 (unsigned long) __entry
->ino
, __entry
->nr_to_write
,
328 __entry
->pages_skipped
, __entry
->range_start
,
329 __entry
->range_end
, __entry
->sync_mode
,
330 __entry
->for_kupdate
, __entry
->range_cyclic
,
331 (unsigned long) __entry
->writeback_index
)
334 TRACE_EVENT(ext4_da_write_pages
,
335 TP_PROTO(struct inode
*inode
, struct mpage_da_data
*mpd
),
340 __field( dev_t
, dev
)
341 __field( ino_t
, ino
)
342 __field( __u64
, b_blocknr
)
343 __field( __u32
, b_size
)
344 __field( __u32
, b_state
)
345 __field( unsigned long, first_page
)
346 __field( int, io_done
)
347 __field( int, pages_written
)
348 __field( int, sync_mode
)
352 __entry
->dev
= inode
->i_sb
->s_dev
;
353 __entry
->ino
= inode
->i_ino
;
354 __entry
->b_blocknr
= mpd
->b_blocknr
;
355 __entry
->b_size
= mpd
->b_size
;
356 __entry
->b_state
= mpd
->b_state
;
357 __entry
->first_page
= mpd
->first_page
;
358 __entry
->io_done
= mpd
->io_done
;
359 __entry
->pages_written
= mpd
->pages_written
;
360 __entry
->sync_mode
= mpd
->wbc
->sync_mode
;
363 TP_printk("dev %d,%d ino %lu b_blocknr %llu b_size %u b_state 0x%04x "
364 "first_page %lu io_done %d pages_written %d sync_mode %d",
365 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
366 (unsigned long) __entry
->ino
,
367 __entry
->b_blocknr
, __entry
->b_size
,
368 __entry
->b_state
, __entry
->first_page
,
369 __entry
->io_done
, __entry
->pages_written
,
374 TRACE_EVENT(ext4_da_writepages_result
,
375 TP_PROTO(struct inode
*inode
, struct writeback_control
*wbc
,
376 int ret
, int pages_written
),
378 TP_ARGS(inode
, wbc
, ret
, pages_written
),
381 __field( dev_t
, dev
)
382 __field( ino_t
, ino
)
384 __field( int, pages_written
)
385 __field( long, pages_skipped
)
386 __field( pgoff_t
, writeback_index
)
387 __field( int, sync_mode
)
391 __entry
->dev
= inode
->i_sb
->s_dev
;
392 __entry
->ino
= inode
->i_ino
;
394 __entry
->pages_written
= pages_written
;
395 __entry
->pages_skipped
= wbc
->pages_skipped
;
396 __entry
->writeback_index
= inode
->i_mapping
->writeback_index
;
397 __entry
->sync_mode
= wbc
->sync_mode
;
400 TP_printk("dev %d,%d ino %lu ret %d pages_written %d pages_skipped %ld "
401 "sync_mode %d writeback_index %lu",
402 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
403 (unsigned long) __entry
->ino
, __entry
->ret
,
404 __entry
->pages_written
, __entry
->pages_skipped
,
406 (unsigned long) __entry
->writeback_index
)
409 DECLARE_EVENT_CLASS(ext4__page_op
,
410 TP_PROTO(struct page
*page
),
415 __field( dev_t
, dev
)
416 __field( ino_t
, ino
)
417 __field( pgoff_t
, index
)
422 __entry
->dev
= page
->mapping
->host
->i_sb
->s_dev
;
423 __entry
->ino
= page
->mapping
->host
->i_ino
;
424 __entry
->index
= page
->index
;
427 TP_printk("dev %d,%d ino %lu page_index %lu",
428 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
429 (unsigned long) __entry
->ino
,
430 (unsigned long) __entry
->index
)
433 DEFINE_EVENT(ext4__page_op
, ext4_writepage
,
435 TP_PROTO(struct page
*page
),
440 DEFINE_EVENT(ext4__page_op
, ext4_readpage
,
442 TP_PROTO(struct page
*page
),
447 DEFINE_EVENT(ext4__page_op
, ext4_releasepage
,
449 TP_PROTO(struct page
*page
),
454 DECLARE_EVENT_CLASS(ext4_invalidatepage_op
,
455 TP_PROTO(struct page
*page
, unsigned long offset
),
457 TP_ARGS(page
, offset
),
460 __field( dev_t
, dev
)
461 __field( ino_t
, ino
)
462 __field( pgoff_t
, index
)
463 __field( unsigned long, offset
)
468 __entry
->dev
= page
->mapping
->host
->i_sb
->s_dev
;
469 __entry
->ino
= page
->mapping
->host
->i_ino
;
470 __entry
->index
= page
->index
;
471 __entry
->offset
= offset
;
474 TP_printk("dev %d,%d ino %lu page_index %lu offset %lu",
475 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
476 (unsigned long) __entry
->ino
,
477 (unsigned long) __entry
->index
, __entry
->offset
)
480 DEFINE_EVENT(ext4_invalidatepage_op
, ext4_invalidatepage
,
481 TP_PROTO(struct page
*page
, unsigned long offset
),
483 TP_ARGS(page
, offset
)
486 DEFINE_EVENT(ext4_invalidatepage_op
, ext4_journalled_invalidatepage
,
487 TP_PROTO(struct page
*page
, unsigned long offset
),
489 TP_ARGS(page
, offset
)
492 TRACE_EVENT(ext4_discard_blocks
,
493 TP_PROTO(struct super_block
*sb
, unsigned long long blk
,
494 unsigned long long count
),
496 TP_ARGS(sb
, blk
, count
),
499 __field( dev_t
, dev
)
500 __field( __u64
, blk
)
501 __field( __u64
, count
)
506 __entry
->dev
= sb
->s_dev
;
508 __entry
->count
= count
;
511 TP_printk("dev %d,%d blk %llu count %llu",
512 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
513 __entry
->blk
, __entry
->count
)
516 DECLARE_EVENT_CLASS(ext4__mb_new_pa
,
517 TP_PROTO(struct ext4_allocation_context
*ac
,
518 struct ext4_prealloc_space
*pa
),
523 __field( dev_t
, dev
)
524 __field( ino_t
, ino
)
525 __field( __u64
, pa_pstart
)
526 __field( __u64
, pa_lstart
)
527 __field( __u32
, pa_len
)
532 __entry
->dev
= ac
->ac_sb
->s_dev
;
533 __entry
->ino
= ac
->ac_inode
->i_ino
;
534 __entry
->pa_pstart
= pa
->pa_pstart
;
535 __entry
->pa_lstart
= pa
->pa_lstart
;
536 __entry
->pa_len
= pa
->pa_len
;
539 TP_printk("dev %d,%d ino %lu pstart %llu len %u lstart %llu",
540 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
541 (unsigned long) __entry
->ino
,
542 __entry
->pa_pstart
, __entry
->pa_len
, __entry
->pa_lstart
)
545 DEFINE_EVENT(ext4__mb_new_pa
, ext4_mb_new_inode_pa
,
547 TP_PROTO(struct ext4_allocation_context
*ac
,
548 struct ext4_prealloc_space
*pa
),
553 DEFINE_EVENT(ext4__mb_new_pa
, ext4_mb_new_group_pa
,
555 TP_PROTO(struct ext4_allocation_context
*ac
,
556 struct ext4_prealloc_space
*pa
),
561 TRACE_EVENT(ext4_mb_release_inode_pa
,
562 TP_PROTO(struct ext4_prealloc_space
*pa
,
563 unsigned long long block
, unsigned int count
),
565 TP_ARGS(pa
, block
, count
),
568 __field( dev_t
, dev
)
569 __field( ino_t
, ino
)
570 __field( __u64
, block
)
571 __field( __u32
, count
)
576 __entry
->dev
= pa
->pa_inode
->i_sb
->s_dev
;
577 __entry
->ino
= pa
->pa_inode
->i_ino
;
578 __entry
->block
= block
;
579 __entry
->count
= count
;
582 TP_printk("dev %d,%d ino %lu block %llu count %u",
583 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
584 (unsigned long) __entry
->ino
,
585 __entry
->block
, __entry
->count
)
588 TRACE_EVENT(ext4_mb_release_group_pa
,
589 TP_PROTO(struct super_block
*sb
, struct ext4_prealloc_space
*pa
),
594 __field( dev_t
, dev
)
595 __field( __u64
, pa_pstart
)
596 __field( __u32
, pa_len
)
601 __entry
->dev
= sb
->s_dev
;
602 __entry
->pa_pstart
= pa
->pa_pstart
;
603 __entry
->pa_len
= pa
->pa_len
;
606 TP_printk("dev %d,%d pstart %llu len %u",
607 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
608 __entry
->pa_pstart
, __entry
->pa_len
)
611 TRACE_EVENT(ext4_discard_preallocations
,
612 TP_PROTO(struct inode
*inode
),
617 __field( dev_t
, dev
)
618 __field( ino_t
, ino
)
623 __entry
->dev
= inode
->i_sb
->s_dev
;
624 __entry
->ino
= inode
->i_ino
;
627 TP_printk("dev %d,%d ino %lu",
628 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
629 (unsigned long) __entry
->ino
)
632 TRACE_EVENT(ext4_mb_discard_preallocations
,
633 TP_PROTO(struct super_block
*sb
, int needed
),
638 __field( dev_t
, dev
)
639 __field( int, needed
)
644 __entry
->dev
= sb
->s_dev
;
645 __entry
->needed
= needed
;
648 TP_printk("dev %d,%d needed %d",
649 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
653 TRACE_EVENT(ext4_request_blocks
,
654 TP_PROTO(struct ext4_allocation_request
*ar
),
659 __field( dev_t
, dev
)
660 __field( ino_t
, ino
)
661 __field( unsigned int, len
)
662 __field( __u32
, logical
)
663 __field( __u32
, lleft
)
664 __field( __u32
, lright
)
665 __field( __u64
, goal
)
666 __field( __u64
, pleft
)
667 __field( __u64
, pright
)
668 __field( unsigned int, flags
)
672 __entry
->dev
= ar
->inode
->i_sb
->s_dev
;
673 __entry
->ino
= ar
->inode
->i_ino
;
674 __entry
->len
= ar
->len
;
675 __entry
->logical
= ar
->logical
;
676 __entry
->goal
= ar
->goal
;
677 __entry
->lleft
= ar
->lleft
;
678 __entry
->lright
= ar
->lright
;
679 __entry
->pleft
= ar
->pleft
;
680 __entry
->pright
= ar
->pright
;
681 __entry
->flags
= ar
->flags
;
684 TP_printk("dev %d,%d ino %lu flags %u len %u lblk %u goal %llu "
685 "lleft %u lright %u pleft %llu pright %llu ",
686 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
687 (unsigned long) __entry
->ino
, __entry
->flags
,
688 __entry
->len
, __entry
->logical
, __entry
->goal
,
689 __entry
->lleft
, __entry
->lright
, __entry
->pleft
,
693 TRACE_EVENT(ext4_allocate_blocks
,
694 TP_PROTO(struct ext4_allocation_request
*ar
, unsigned long long block
),
699 __field( dev_t
, dev
)
700 __field( ino_t
, ino
)
701 __field( __u64
, block
)
702 __field( unsigned int, len
)
703 __field( __u32
, logical
)
704 __field( __u32
, lleft
)
705 __field( __u32
, lright
)
706 __field( __u64
, goal
)
707 __field( __u64
, pleft
)
708 __field( __u64
, pright
)
709 __field( unsigned int, flags
)
713 __entry
->dev
= ar
->inode
->i_sb
->s_dev
;
714 __entry
->ino
= ar
->inode
->i_ino
;
715 __entry
->block
= block
;
716 __entry
->len
= ar
->len
;
717 __entry
->logical
= ar
->logical
;
718 __entry
->goal
= ar
->goal
;
719 __entry
->lleft
= ar
->lleft
;
720 __entry
->lright
= ar
->lright
;
721 __entry
->pleft
= ar
->pleft
;
722 __entry
->pright
= ar
->pright
;
723 __entry
->flags
= ar
->flags
;
726 TP_printk("dev %d,%d ino %lu flags %u len %u block %llu lblk %u "
727 "goal %llu lleft %u lright %u pleft %llu pright %llu",
728 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
729 (unsigned long) __entry
->ino
, __entry
->flags
,
730 __entry
->len
, __entry
->block
, __entry
->logical
,
731 __entry
->goal
, __entry
->lleft
, __entry
->lright
,
732 __entry
->pleft
, __entry
->pright
)
735 TRACE_EVENT(ext4_free_blocks
,
736 TP_PROTO(struct inode
*inode
, __u64 block
, unsigned long count
,
739 TP_ARGS(inode
, block
, count
, flags
),
742 __field( dev_t
, dev
)
743 __field( ino_t
, ino
)
744 __field( __u64
, block
)
745 __field( unsigned long, count
)
746 __field( int, flags
)
747 __field( __u16
, mode
)
751 __entry
->dev
= inode
->i_sb
->s_dev
;
752 __entry
->ino
= inode
->i_ino
;
753 __entry
->block
= block
;
754 __entry
->count
= count
;
755 __entry
->flags
= flags
;
756 __entry
->mode
= inode
->i_mode
;
759 TP_printk("dev %d,%d ino %lu mode 0%o block %llu count %lu flags %d",
760 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
761 (unsigned long) __entry
->ino
,
762 __entry
->mode
, __entry
->block
, __entry
->count
,
766 TRACE_EVENT(ext4_sync_file_enter
,
767 TP_PROTO(struct file
*file
, int datasync
),
769 TP_ARGS(file
, datasync
),
772 __field( dev_t
, dev
)
773 __field( ino_t
, ino
)
774 __field( ino_t
, parent
)
775 __field( int, datasync
)
779 struct dentry
*dentry
= file
->f_path
.dentry
;
781 __entry
->dev
= dentry
->d_inode
->i_sb
->s_dev
;
782 __entry
->ino
= dentry
->d_inode
->i_ino
;
783 __entry
->datasync
= datasync
;
784 __entry
->parent
= dentry
->d_parent
->d_inode
->i_ino
;
787 TP_printk("dev %d,%d ino %lu parent %lu datasync %d ",
788 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
789 (unsigned long) __entry
->ino
,
790 (unsigned long) __entry
->parent
, __entry
->datasync
)
793 TRACE_EVENT(ext4_sync_file_exit
,
794 TP_PROTO(struct inode
*inode
, int ret
),
799 __field( dev_t
, dev
)
800 __field( ino_t
, ino
)
805 __entry
->dev
= inode
->i_sb
->s_dev
;
806 __entry
->ino
= inode
->i_ino
;
810 TP_printk("dev %d,%d ino %lu ret %d",
811 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
812 (unsigned long) __entry
->ino
,
816 TRACE_EVENT(ext4_sync_fs
,
817 TP_PROTO(struct super_block
*sb
, int wait
),
822 __field( dev_t
, dev
)
828 __entry
->dev
= sb
->s_dev
;
829 __entry
->wait
= wait
;
832 TP_printk("dev %d,%d wait %d",
833 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
837 TRACE_EVENT(ext4_alloc_da_blocks
,
838 TP_PROTO(struct inode
*inode
),
843 __field( dev_t
, dev
)
844 __field( ino_t
, ino
)
845 __field( unsigned int, data_blocks
)
846 __field( unsigned int, meta_blocks
)
850 __entry
->dev
= inode
->i_sb
->s_dev
;
851 __entry
->ino
= inode
->i_ino
;
852 __entry
->data_blocks
= EXT4_I(inode
)->i_reserved_data_blocks
;
853 __entry
->meta_blocks
= EXT4_I(inode
)->i_reserved_meta_blocks
;
856 TP_printk("dev %d,%d ino %lu data_blocks %u meta_blocks %u",
857 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
858 (unsigned long) __entry
->ino
,
859 __entry
->data_blocks
, __entry
->meta_blocks
)
862 TRACE_EVENT(ext4_mballoc_alloc
,
863 TP_PROTO(struct ext4_allocation_context
*ac
),
868 __field( dev_t
, dev
)
869 __field( ino_t
, ino
)
870 __field( __u32
, orig_logical
)
871 __field( int, orig_start
)
872 __field( __u32
, orig_group
)
873 __field( int, orig_len
)
874 __field( __u32
, goal_logical
)
875 __field( int, goal_start
)
876 __field( __u32
, goal_group
)
877 __field( int, goal_len
)
878 __field( __u32
, result_logical
)
879 __field( int, result_start
)
880 __field( __u32
, result_group
)
881 __field( int, result_len
)
882 __field( __u16
, found
)
883 __field( __u16
, groups
)
884 __field( __u16
, buddy
)
885 __field( __u16
, flags
)
886 __field( __u16
, tail
)
891 __entry
->dev
= ac
->ac_inode
->i_sb
->s_dev
;
892 __entry
->ino
= ac
->ac_inode
->i_ino
;
893 __entry
->orig_logical
= ac
->ac_o_ex
.fe_logical
;
894 __entry
->orig_start
= ac
->ac_o_ex
.fe_start
;
895 __entry
->orig_group
= ac
->ac_o_ex
.fe_group
;
896 __entry
->orig_len
= ac
->ac_o_ex
.fe_len
;
897 __entry
->goal_logical
= ac
->ac_g_ex
.fe_logical
;
898 __entry
->goal_start
= ac
->ac_g_ex
.fe_start
;
899 __entry
->goal_group
= ac
->ac_g_ex
.fe_group
;
900 __entry
->goal_len
= ac
->ac_g_ex
.fe_len
;
901 __entry
->result_logical
= ac
->ac_f_ex
.fe_logical
;
902 __entry
->result_start
= ac
->ac_f_ex
.fe_start
;
903 __entry
->result_group
= ac
->ac_f_ex
.fe_group
;
904 __entry
->result_len
= ac
->ac_f_ex
.fe_len
;
905 __entry
->found
= ac
->ac_found
;
906 __entry
->flags
= ac
->ac_flags
;
907 __entry
->groups
= ac
->ac_groups_scanned
;
908 __entry
->buddy
= ac
->ac_buddy
;
909 __entry
->tail
= ac
->ac_tail
;
910 __entry
->cr
= ac
->ac_criteria
;
913 TP_printk("dev %d,%d inode %lu orig %u/%d/%u@%u goal %u/%d/%u@%u "
914 "result %u/%d/%u@%u blks %u grps %u cr %u flags 0x%04x "
916 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
917 (unsigned long) __entry
->ino
,
918 __entry
->orig_group
, __entry
->orig_start
,
919 __entry
->orig_len
, __entry
->orig_logical
,
920 __entry
->goal_group
, __entry
->goal_start
,
921 __entry
->goal_len
, __entry
->goal_logical
,
922 __entry
->result_group
, __entry
->result_start
,
923 __entry
->result_len
, __entry
->result_logical
,
924 __entry
->found
, __entry
->groups
, __entry
->cr
,
925 __entry
->flags
, __entry
->tail
,
926 __entry
->buddy
? 1 << __entry
->buddy
: 0)
929 TRACE_EVENT(ext4_mballoc_prealloc
,
930 TP_PROTO(struct ext4_allocation_context
*ac
),
935 __field( dev_t
, dev
)
936 __field( ino_t
, ino
)
937 __field( __u32
, orig_logical
)
938 __field( int, orig_start
)
939 __field( __u32
, orig_group
)
940 __field( int, orig_len
)
941 __field( __u32
, result_logical
)
942 __field( int, result_start
)
943 __field( __u32
, result_group
)
944 __field( int, result_len
)
948 __entry
->dev
= ac
->ac_inode
->i_sb
->s_dev
;
949 __entry
->ino
= ac
->ac_inode
->i_ino
;
950 __entry
->orig_logical
= ac
->ac_o_ex
.fe_logical
;
951 __entry
->orig_start
= ac
->ac_o_ex
.fe_start
;
952 __entry
->orig_group
= ac
->ac_o_ex
.fe_group
;
953 __entry
->orig_len
= ac
->ac_o_ex
.fe_len
;
954 __entry
->result_logical
= ac
->ac_b_ex
.fe_logical
;
955 __entry
->result_start
= ac
->ac_b_ex
.fe_start
;
956 __entry
->result_group
= ac
->ac_b_ex
.fe_group
;
957 __entry
->result_len
= ac
->ac_b_ex
.fe_len
;
960 TP_printk("dev %d,%d inode %lu orig %u/%d/%u@%u result %u/%d/%u@%u",
961 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
962 (unsigned long) __entry
->ino
,
963 __entry
->orig_group
, __entry
->orig_start
,
964 __entry
->orig_len
, __entry
->orig_logical
,
965 __entry
->result_group
, __entry
->result_start
,
966 __entry
->result_len
, __entry
->result_logical
)
969 DECLARE_EVENT_CLASS(ext4__mballoc
,
970 TP_PROTO(struct super_block
*sb
,
976 TP_ARGS(sb
, inode
, group
, start
, len
),
979 __field( dev_t
, dev
)
980 __field( ino_t
, ino
)
981 __field( int, result_start
)
982 __field( __u32
, result_group
)
983 __field( int, result_len
)
987 __entry
->dev
= sb
->s_dev
;
988 __entry
->ino
= inode
? inode
->i_ino
: 0;
989 __entry
->result_start
= start
;
990 __entry
->result_group
= group
;
991 __entry
->result_len
= len
;
994 TP_printk("dev %d,%d inode %lu extent %u/%d/%d ",
995 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
996 (unsigned long) __entry
->ino
,
997 __entry
->result_group
, __entry
->result_start
,
1001 DEFINE_EVENT(ext4__mballoc
, ext4_mballoc_discard
,
1003 TP_PROTO(struct super_block
*sb
,
1004 struct inode
*inode
,
1006 ext4_grpblk_t start
,
1009 TP_ARGS(sb
, inode
, group
, start
, len
)
1012 DEFINE_EVENT(ext4__mballoc
, ext4_mballoc_free
,
1014 TP_PROTO(struct super_block
*sb
,
1015 struct inode
*inode
,
1017 ext4_grpblk_t start
,
1020 TP_ARGS(sb
, inode
, group
, start
, len
)
1023 TRACE_EVENT(ext4_forget
,
1024 TP_PROTO(struct inode
*inode
, int is_metadata
, __u64 block
),
1026 TP_ARGS(inode
, is_metadata
, block
),
1029 __field( dev_t
, dev
)
1030 __field( ino_t
, ino
)
1031 __field( __u64
, block
)
1032 __field( int, is_metadata
)
1033 __field( __u16
, mode
)
1037 __entry
->dev
= inode
->i_sb
->s_dev
;
1038 __entry
->ino
= inode
->i_ino
;
1039 __entry
->block
= block
;
1040 __entry
->is_metadata
= is_metadata
;
1041 __entry
->mode
= inode
->i_mode
;
1044 TP_printk("dev %d,%d ino %lu mode 0%o is_metadata %d block %llu",
1045 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1046 (unsigned long) __entry
->ino
,
1047 __entry
->mode
, __entry
->is_metadata
, __entry
->block
)
1050 TRACE_EVENT(ext4_da_update_reserve_space
,
1051 TP_PROTO(struct inode
*inode
, int used_blocks
, int quota_claim
),
1053 TP_ARGS(inode
, used_blocks
, quota_claim
),
1056 __field( dev_t
, dev
)
1057 __field( ino_t
, ino
)
1058 __field( __u64
, i_blocks
)
1059 __field( int, used_blocks
)
1060 __field( int, reserved_data_blocks
)
1061 __field( int, reserved_meta_blocks
)
1062 __field( int, allocated_meta_blocks
)
1063 __field( int, quota_claim
)
1064 __field( __u16
, mode
)
1068 __entry
->dev
= inode
->i_sb
->s_dev
;
1069 __entry
->ino
= inode
->i_ino
;
1070 __entry
->i_blocks
= inode
->i_blocks
;
1071 __entry
->used_blocks
= used_blocks
;
1072 __entry
->reserved_data_blocks
=
1073 EXT4_I(inode
)->i_reserved_data_blocks
;
1074 __entry
->reserved_meta_blocks
=
1075 EXT4_I(inode
)->i_reserved_meta_blocks
;
1076 __entry
->allocated_meta_blocks
=
1077 EXT4_I(inode
)->i_allocated_meta_blocks
;
1078 __entry
->quota_claim
= quota_claim
;
1079 __entry
->mode
= inode
->i_mode
;
1082 TP_printk("dev %d,%d ino %lu mode 0%o i_blocks %llu used_blocks %d "
1083 "reserved_data_blocks %d reserved_meta_blocks %d "
1084 "allocated_meta_blocks %d quota_claim %d",
1085 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1086 (unsigned long) __entry
->ino
,
1087 __entry
->mode
, __entry
->i_blocks
,
1088 __entry
->used_blocks
, __entry
->reserved_data_blocks
,
1089 __entry
->reserved_meta_blocks
, __entry
->allocated_meta_blocks
,
1090 __entry
->quota_claim
)
1093 TRACE_EVENT(ext4_da_reserve_space
,
1094 TP_PROTO(struct inode
*inode
, int md_needed
),
1096 TP_ARGS(inode
, md_needed
),
1099 __field( dev_t
, dev
)
1100 __field( ino_t
, ino
)
1101 __field( __u64
, i_blocks
)
1102 __field( int, md_needed
)
1103 __field( int, reserved_data_blocks
)
1104 __field( int, reserved_meta_blocks
)
1105 __field( __u16
, mode
)
1109 __entry
->dev
= inode
->i_sb
->s_dev
;
1110 __entry
->ino
= inode
->i_ino
;
1111 __entry
->i_blocks
= inode
->i_blocks
;
1112 __entry
->md_needed
= md_needed
;
1113 __entry
->reserved_data_blocks
= EXT4_I(inode
)->i_reserved_data_blocks
;
1114 __entry
->reserved_meta_blocks
= EXT4_I(inode
)->i_reserved_meta_blocks
;
1115 __entry
->mode
= inode
->i_mode
;
1118 TP_printk("dev %d,%d ino %lu mode 0%o i_blocks %llu md_needed %d "
1119 "reserved_data_blocks %d reserved_meta_blocks %d",
1120 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1121 (unsigned long) __entry
->ino
,
1122 __entry
->mode
, __entry
->i_blocks
,
1123 __entry
->md_needed
, __entry
->reserved_data_blocks
,
1124 __entry
->reserved_meta_blocks
)
1127 TRACE_EVENT(ext4_da_release_space
,
1128 TP_PROTO(struct inode
*inode
, int freed_blocks
),
1130 TP_ARGS(inode
, freed_blocks
),
1133 __field( dev_t
, dev
)
1134 __field( ino_t
, ino
)
1135 __field( __u64
, i_blocks
)
1136 __field( int, freed_blocks
)
1137 __field( int, reserved_data_blocks
)
1138 __field( int, reserved_meta_blocks
)
1139 __field( int, allocated_meta_blocks
)
1140 __field( __u16
, mode
)
1144 __entry
->dev
= inode
->i_sb
->s_dev
;
1145 __entry
->ino
= inode
->i_ino
;
1146 __entry
->i_blocks
= inode
->i_blocks
;
1147 __entry
->freed_blocks
= freed_blocks
;
1148 __entry
->reserved_data_blocks
= EXT4_I(inode
)->i_reserved_data_blocks
;
1149 __entry
->reserved_meta_blocks
= EXT4_I(inode
)->i_reserved_meta_blocks
;
1150 __entry
->allocated_meta_blocks
= EXT4_I(inode
)->i_allocated_meta_blocks
;
1151 __entry
->mode
= inode
->i_mode
;
1154 TP_printk("dev %d,%d ino %lu mode 0%o i_blocks %llu freed_blocks %d "
1155 "reserved_data_blocks %d reserved_meta_blocks %d "
1156 "allocated_meta_blocks %d",
1157 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1158 (unsigned long) __entry
->ino
,
1159 __entry
->mode
, __entry
->i_blocks
,
1160 __entry
->freed_blocks
, __entry
->reserved_data_blocks
,
1161 __entry
->reserved_meta_blocks
, __entry
->allocated_meta_blocks
)
1164 DECLARE_EVENT_CLASS(ext4__bitmap_load
,
1165 TP_PROTO(struct super_block
*sb
, unsigned long group
),
1170 __field( dev_t
, dev
)
1171 __field( __u32
, group
)
1176 __entry
->dev
= sb
->s_dev
;
1177 __entry
->group
= group
;
1180 TP_printk("dev %d,%d group %u",
1181 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1185 DEFINE_EVENT(ext4__bitmap_load
, ext4_mb_bitmap_load
,
1187 TP_PROTO(struct super_block
*sb
, unsigned long group
),
1192 DEFINE_EVENT(ext4__bitmap_load
, ext4_mb_buddy_bitmap_load
,
1194 TP_PROTO(struct super_block
*sb
, unsigned long group
),
1199 DEFINE_EVENT(ext4__bitmap_load
, ext4_read_block_bitmap_load
,
1201 TP_PROTO(struct super_block
*sb
, unsigned long group
),
1206 DEFINE_EVENT(ext4__bitmap_load
, ext4_load_inode_bitmap
,
1208 TP_PROTO(struct super_block
*sb
, unsigned long group
),
1213 TRACE_EVENT(ext4_direct_IO_enter
,
1214 TP_PROTO(struct inode
*inode
, loff_t offset
, unsigned long len
, int rw
),
1216 TP_ARGS(inode
, offset
, len
, rw
),
1219 __field( dev_t
, dev
)
1220 __field( ino_t
, ino
)
1221 __field( loff_t
, pos
)
1222 __field( unsigned long, len
)
1227 __entry
->dev
= inode
->i_sb
->s_dev
;
1228 __entry
->ino
= inode
->i_ino
;
1229 __entry
->pos
= offset
;
1234 TP_printk("dev %d,%d ino %lu pos %lld len %lu rw %d",
1235 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1236 (unsigned long) __entry
->ino
,
1237 __entry
->pos
, __entry
->len
, __entry
->rw
)
1240 TRACE_EVENT(ext4_direct_IO_exit
,
1241 TP_PROTO(struct inode
*inode
, loff_t offset
, unsigned long len
,
1244 TP_ARGS(inode
, offset
, len
, rw
, ret
),
1247 __field( dev_t
, dev
)
1248 __field( ino_t
, ino
)
1249 __field( loff_t
, pos
)
1250 __field( unsigned long, len
)
1256 __entry
->dev
= inode
->i_sb
->s_dev
;
1257 __entry
->ino
= inode
->i_ino
;
1258 __entry
->pos
= offset
;
1264 TP_printk("dev %d,%d ino %lu pos %lld len %lu rw %d ret %d",
1265 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1266 (unsigned long) __entry
->ino
,
1267 __entry
->pos
, __entry
->len
,
1268 __entry
->rw
, __entry
->ret
)
1271 TRACE_EVENT(ext4_fallocate_enter
,
1272 TP_PROTO(struct inode
*inode
, loff_t offset
, loff_t len
, int mode
),
1274 TP_ARGS(inode
, offset
, len
, mode
),
1277 __field( dev_t
, dev
)
1278 __field( ino_t
, ino
)
1279 __field( loff_t
, pos
)
1280 __field( loff_t
, len
)
1281 __field( int, mode
)
1285 __entry
->dev
= inode
->i_sb
->s_dev
;
1286 __entry
->ino
= inode
->i_ino
;
1287 __entry
->pos
= offset
;
1289 __entry
->mode
= mode
;
1292 TP_printk("dev %d,%d ino %lu pos %lld len %lld mode %d",
1293 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1294 (unsigned long) __entry
->ino
, __entry
->pos
,
1295 __entry
->len
, __entry
->mode
)
1298 TRACE_EVENT(ext4_fallocate_exit
,
1299 TP_PROTO(struct inode
*inode
, loff_t offset
,
1300 unsigned int max_blocks
, int ret
),
1302 TP_ARGS(inode
, offset
, max_blocks
, ret
),
1305 __field( dev_t
, dev
)
1306 __field( ino_t
, ino
)
1307 __field( loff_t
, pos
)
1308 __field( unsigned int, blocks
)
1313 __entry
->dev
= inode
->i_sb
->s_dev
;
1314 __entry
->ino
= inode
->i_ino
;
1315 __entry
->pos
= offset
;
1316 __entry
->blocks
= max_blocks
;
1320 TP_printk("dev %d,%d ino %lu pos %lld blocks %u ret %d",
1321 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1322 (unsigned long) __entry
->ino
,
1323 __entry
->pos
, __entry
->blocks
,
1327 TRACE_EVENT(ext4_unlink_enter
,
1328 TP_PROTO(struct inode
*parent
, struct dentry
*dentry
),
1330 TP_ARGS(parent
, dentry
),
1333 __field( dev_t
, dev
)
1334 __field( ino_t
, ino
)
1335 __field( ino_t
, parent
)
1336 __field( loff_t
, size
)
1340 __entry
->dev
= dentry
->d_inode
->i_sb
->s_dev
;
1341 __entry
->ino
= dentry
->d_inode
->i_ino
;
1342 __entry
->parent
= parent
->i_ino
;
1343 __entry
->size
= dentry
->d_inode
->i_size
;
1346 TP_printk("dev %d,%d ino %lu size %lld parent %lu",
1347 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1348 (unsigned long) __entry
->ino
, __entry
->size
,
1349 (unsigned long) __entry
->parent
)
1352 TRACE_EVENT(ext4_unlink_exit
,
1353 TP_PROTO(struct dentry
*dentry
, int ret
),
1355 TP_ARGS(dentry
, ret
),
1358 __field( dev_t
, dev
)
1359 __field( ino_t
, ino
)
1364 __entry
->dev
= dentry
->d_inode
->i_sb
->s_dev
;
1365 __entry
->ino
= dentry
->d_inode
->i_ino
;
1369 TP_printk("dev %d,%d ino %lu ret %d",
1370 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1371 (unsigned long) __entry
->ino
,
1375 DECLARE_EVENT_CLASS(ext4__truncate
,
1376 TP_PROTO(struct inode
*inode
),
1381 __field( dev_t
, dev
)
1382 __field( ino_t
, ino
)
1383 __field( __u64
, blocks
)
1387 __entry
->dev
= inode
->i_sb
->s_dev
;
1388 __entry
->ino
= inode
->i_ino
;
1389 __entry
->blocks
= inode
->i_blocks
;
1392 TP_printk("dev %d,%d ino %lu blocks %llu",
1393 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1394 (unsigned long) __entry
->ino
, __entry
->blocks
)
1397 DEFINE_EVENT(ext4__truncate
, ext4_truncate_enter
,
1399 TP_PROTO(struct inode
*inode
),
1404 DEFINE_EVENT(ext4__truncate
, ext4_truncate_exit
,
1406 TP_PROTO(struct inode
*inode
),
1411 /* 'ux' is the uninitialized extent. */
1412 TRACE_EVENT(ext4_ext_convert_to_initialized_enter
,
1413 TP_PROTO(struct inode
*inode
, struct ext4_map_blocks
*map
,
1414 struct ext4_extent
*ux
),
1416 TP_ARGS(inode
, map
, ux
),
1419 __field( dev_t
, dev
)
1420 __field( ino_t
, ino
)
1421 __field( ext4_lblk_t
, m_lblk
)
1422 __field( unsigned, m_len
)
1423 __field( ext4_lblk_t
, u_lblk
)
1424 __field( unsigned, u_len
)
1425 __field( ext4_fsblk_t
, u_pblk
)
1429 __entry
->dev
= inode
->i_sb
->s_dev
;
1430 __entry
->ino
= inode
->i_ino
;
1431 __entry
->m_lblk
= map
->m_lblk
;
1432 __entry
->m_len
= map
->m_len
;
1433 __entry
->u_lblk
= le32_to_cpu(ux
->ee_block
);
1434 __entry
->u_len
= ext4_ext_get_actual_len(ux
);
1435 __entry
->u_pblk
= ext4_ext_pblock(ux
);
1438 TP_printk("dev %d,%d ino %lu m_lblk %u m_len %u u_lblk %u u_len %u "
1440 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1441 (unsigned long) __entry
->ino
,
1442 __entry
->m_lblk
, __entry
->m_len
,
1443 __entry
->u_lblk
, __entry
->u_len
, __entry
->u_pblk
)
1447 * 'ux' is the uninitialized extent.
1448 * 'ix' is the initialized extent to which blocks are transferred.
1450 TRACE_EVENT(ext4_ext_convert_to_initialized_fastpath
,
1451 TP_PROTO(struct inode
*inode
, struct ext4_map_blocks
*map
,
1452 struct ext4_extent
*ux
, struct ext4_extent
*ix
),
1454 TP_ARGS(inode
, map
, ux
, ix
),
1457 __field( dev_t
, dev
)
1458 __field( ino_t
, ino
)
1459 __field( ext4_lblk_t
, m_lblk
)
1460 __field( unsigned, m_len
)
1461 __field( ext4_lblk_t
, u_lblk
)
1462 __field( unsigned, u_len
)
1463 __field( ext4_fsblk_t
, u_pblk
)
1464 __field( ext4_lblk_t
, i_lblk
)
1465 __field( unsigned, i_len
)
1466 __field( ext4_fsblk_t
, i_pblk
)
1470 __entry
->dev
= inode
->i_sb
->s_dev
;
1471 __entry
->ino
= inode
->i_ino
;
1472 __entry
->m_lblk
= map
->m_lblk
;
1473 __entry
->m_len
= map
->m_len
;
1474 __entry
->u_lblk
= le32_to_cpu(ux
->ee_block
);
1475 __entry
->u_len
= ext4_ext_get_actual_len(ux
);
1476 __entry
->u_pblk
= ext4_ext_pblock(ux
);
1477 __entry
->i_lblk
= le32_to_cpu(ix
->ee_block
);
1478 __entry
->i_len
= ext4_ext_get_actual_len(ix
);
1479 __entry
->i_pblk
= ext4_ext_pblock(ix
);
1482 TP_printk("dev %d,%d ino %lu m_lblk %u m_len %u "
1483 "u_lblk %u u_len %u u_pblk %llu "
1484 "i_lblk %u i_len %u i_pblk %llu ",
1485 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1486 (unsigned long) __entry
->ino
,
1487 __entry
->m_lblk
, __entry
->m_len
,
1488 __entry
->u_lblk
, __entry
->u_len
, __entry
->u_pblk
,
1489 __entry
->i_lblk
, __entry
->i_len
, __entry
->i_pblk
)
1492 DECLARE_EVENT_CLASS(ext4__map_blocks_enter
,
1493 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
,
1494 unsigned int len
, unsigned int flags
),
1496 TP_ARGS(inode
, lblk
, len
, flags
),
1499 __field( dev_t
, dev
)
1500 __field( ino_t
, ino
)
1501 __field( ext4_lblk_t
, lblk
)
1502 __field( unsigned int, len
)
1503 __field( unsigned int, flags
)
1507 __entry
->dev
= inode
->i_sb
->s_dev
;
1508 __entry
->ino
= inode
->i_ino
;
1509 __entry
->lblk
= lblk
;
1511 __entry
->flags
= flags
;
1514 TP_printk("dev %d,%d ino %lu lblk %u len %u flags %u",
1515 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1516 (unsigned long) __entry
->ino
,
1517 __entry
->lblk
, __entry
->len
, __entry
->flags
)
1520 DEFINE_EVENT(ext4__map_blocks_enter
, ext4_ext_map_blocks_enter
,
1521 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
,
1522 unsigned len
, unsigned flags
),
1524 TP_ARGS(inode
, lblk
, len
, flags
)
1527 DEFINE_EVENT(ext4__map_blocks_enter
, ext4_ind_map_blocks_enter
,
1528 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
,
1529 unsigned len
, unsigned flags
),
1531 TP_ARGS(inode
, lblk
, len
, flags
)
1534 DECLARE_EVENT_CLASS(ext4__map_blocks_exit
,
1535 TP_PROTO(struct inode
*inode
, struct ext4_map_blocks
*map
, int ret
),
1537 TP_ARGS(inode
, map
, ret
),
1540 __field( dev_t
, dev
)
1541 __field( ino_t
, ino
)
1542 __field( ext4_fsblk_t
, pblk
)
1543 __field( ext4_lblk_t
, lblk
)
1544 __field( unsigned int, len
)
1545 __field( unsigned int, flags
)
1550 __entry
->dev
= inode
->i_sb
->s_dev
;
1551 __entry
->ino
= inode
->i_ino
;
1552 __entry
->pblk
= map
->m_pblk
;
1553 __entry
->lblk
= map
->m_lblk
;
1554 __entry
->len
= map
->m_len
;
1555 __entry
->flags
= map
->m_flags
;
1559 TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u flags %x ret %d",
1560 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1561 (unsigned long) __entry
->ino
,
1562 __entry
->lblk
, __entry
->pblk
,
1563 __entry
->len
, __entry
->flags
, __entry
->ret
)
1566 DEFINE_EVENT(ext4__map_blocks_exit
, ext4_ext_map_blocks_exit
,
1567 TP_PROTO(struct inode
*inode
, struct ext4_map_blocks
*map
, int ret
),
1569 TP_ARGS(inode
, map
, ret
)
1572 DEFINE_EVENT(ext4__map_blocks_exit
, ext4_ind_map_blocks_exit
,
1573 TP_PROTO(struct inode
*inode
, struct ext4_map_blocks
*map
, int ret
),
1575 TP_ARGS(inode
, map
, ret
)
1578 TRACE_EVENT(ext4_ext_load_extent
,
1579 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
, ext4_fsblk_t pblk
),
1581 TP_ARGS(inode
, lblk
, pblk
),
1584 __field( dev_t
, dev
)
1585 __field( ino_t
, ino
)
1586 __field( ext4_fsblk_t
, pblk
)
1587 __field( ext4_lblk_t
, lblk
)
1591 __entry
->dev
= inode
->i_sb
->s_dev
;
1592 __entry
->ino
= inode
->i_ino
;
1593 __entry
->pblk
= pblk
;
1594 __entry
->lblk
= lblk
;
1597 TP_printk("dev %d,%d ino %lu lblk %u pblk %llu",
1598 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1599 (unsigned long) __entry
->ino
,
1600 __entry
->lblk
, __entry
->pblk
)
1603 TRACE_EVENT(ext4_load_inode
,
1604 TP_PROTO(struct inode
*inode
),
1609 __field( dev_t
, dev
)
1610 __field( ino_t
, ino
)
1614 __entry
->dev
= inode
->i_sb
->s_dev
;
1615 __entry
->ino
= inode
->i_ino
;
1618 TP_printk("dev %d,%d ino %ld",
1619 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1620 (unsigned long) __entry
->ino
)
1623 TRACE_EVENT(ext4_journal_start
,
1624 TP_PROTO(struct super_block
*sb
, int nblocks
, unsigned long IP
),
1626 TP_ARGS(sb
, nblocks
, IP
),
1629 __field( dev_t
, dev
)
1630 __field(unsigned long, ip
)
1631 __field( int, nblocks
)
1635 __entry
->dev
= sb
->s_dev
;
1637 __entry
->nblocks
= nblocks
;
1640 TP_printk("dev %d,%d nblocks %d caller %pF",
1641 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1642 __entry
->nblocks
, (void *)__entry
->ip
)
1645 DECLARE_EVENT_CLASS(ext4__trim
,
1646 TP_PROTO(struct super_block
*sb
,
1648 ext4_grpblk_t start
,
1651 TP_ARGS(sb
, group
, start
, len
),
1654 __field( int, dev_major
)
1655 __field( int, dev_minor
)
1656 __field( __u32
, group
)
1657 __field( int, start
)
1662 __entry
->dev_major
= MAJOR(sb
->s_dev
);
1663 __entry
->dev_minor
= MINOR(sb
->s_dev
);
1664 __entry
->group
= group
;
1665 __entry
->start
= start
;
1669 TP_printk("dev %d,%d group %u, start %d, len %d",
1670 __entry
->dev_major
, __entry
->dev_minor
,
1671 __entry
->group
, __entry
->start
, __entry
->len
)
1674 DEFINE_EVENT(ext4__trim
, ext4_trim_extent
,
1676 TP_PROTO(struct super_block
*sb
,
1678 ext4_grpblk_t start
,
1681 TP_ARGS(sb
, group
, start
, len
)
1684 DEFINE_EVENT(ext4__trim
, ext4_trim_all_free
,
1686 TP_PROTO(struct super_block
*sb
,
1688 ext4_grpblk_t start
,
1691 TP_ARGS(sb
, group
, start
, len
)
1694 TRACE_EVENT(ext4_ext_handle_uninitialized_extents
,
1695 TP_PROTO(struct inode
*inode
, struct ext4_map_blocks
*map
, int flags
,
1696 unsigned int allocated
, ext4_fsblk_t newblock
),
1698 TP_ARGS(inode
, map
, flags
, allocated
, newblock
),
1701 __field( dev_t
, dev
)
1702 __field( ino_t
, ino
)
1703 __field( int, flags
)
1704 __field( ext4_lblk_t
, lblk
)
1705 __field( ext4_fsblk_t
, pblk
)
1706 __field( unsigned int, len
)
1707 __field( unsigned int, allocated
)
1708 __field( ext4_fsblk_t
, newblk
)
1712 __entry
->dev
= inode
->i_sb
->s_dev
;
1713 __entry
->ino
= inode
->i_ino
;
1714 __entry
->flags
= flags
;
1715 __entry
->lblk
= map
->m_lblk
;
1716 __entry
->pblk
= map
->m_pblk
;
1717 __entry
->len
= map
->m_len
;
1718 __entry
->allocated
= allocated
;
1719 __entry
->newblk
= newblock
;
1722 TP_printk("dev %d,%d ino %lu m_lblk %u m_pblk %llu m_len %u flags %x "
1723 "allocated %d newblock %llu",
1724 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1725 (unsigned long) __entry
->ino
,
1726 (unsigned) __entry
->lblk
, (unsigned long long) __entry
->pblk
,
1727 __entry
->len
, __entry
->flags
,
1728 (unsigned int) __entry
->allocated
,
1729 (unsigned long long) __entry
->newblk
)
1732 TRACE_EVENT(ext4_get_implied_cluster_alloc_exit
,
1733 TP_PROTO(struct super_block
*sb
, struct ext4_map_blocks
*map
, int ret
),
1735 TP_ARGS(sb
, map
, ret
),
1738 __field( dev_t
, dev
)
1739 __field( unsigned int, flags
)
1740 __field( ext4_lblk_t
, lblk
)
1741 __field( ext4_fsblk_t
, pblk
)
1742 __field( unsigned int, len
)
1747 __entry
->dev
= sb
->s_dev
;
1748 __entry
->flags
= map
->m_flags
;
1749 __entry
->lblk
= map
->m_lblk
;
1750 __entry
->pblk
= map
->m_pblk
;
1751 __entry
->len
= map
->m_len
;
1755 TP_printk("dev %d,%d m_lblk %u m_pblk %llu m_len %u m_flags %u ret %d",
1756 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1757 __entry
->lblk
, (unsigned long long) __entry
->pblk
,
1758 __entry
->len
, __entry
->flags
, __entry
->ret
)
1761 TRACE_EVENT(ext4_ext_put_in_cache
,
1762 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
, unsigned int len
,
1763 ext4_fsblk_t start
),
1765 TP_ARGS(inode
, lblk
, len
, start
),
1768 __field( dev_t
, dev
)
1769 __field( ino_t
, ino
)
1770 __field( ext4_lblk_t
, lblk
)
1771 __field( unsigned int, len
)
1772 __field( ext4_fsblk_t
, start
)
1776 __entry
->dev
= inode
->i_sb
->s_dev
;
1777 __entry
->ino
= inode
->i_ino
;
1778 __entry
->lblk
= lblk
;
1780 __entry
->start
= start
;
1783 TP_printk("dev %d,%d ino %lu lblk %u len %u start %llu",
1784 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1785 (unsigned long) __entry
->ino
,
1786 (unsigned) __entry
->lblk
,
1788 (unsigned long long) __entry
->start
)
1791 TRACE_EVENT(ext4_ext_in_cache
,
1792 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
, int ret
),
1794 TP_ARGS(inode
, lblk
, ret
),
1797 __field( dev_t
, dev
)
1798 __field( ino_t
, ino
)
1799 __field( ext4_lblk_t
, lblk
)
1804 __entry
->dev
= inode
->i_sb
->s_dev
;
1805 __entry
->ino
= inode
->i_ino
;
1806 __entry
->lblk
= lblk
;
1810 TP_printk("dev %d,%d ino %lu lblk %u ret %d",
1811 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1812 (unsigned long) __entry
->ino
,
1813 (unsigned) __entry
->lblk
,
1818 TRACE_EVENT(ext4_find_delalloc_range
,
1819 TP_PROTO(struct inode
*inode
, ext4_lblk_t from
, ext4_lblk_t to
,
1820 int reverse
, int found
, ext4_lblk_t found_blk
),
1822 TP_ARGS(inode
, from
, to
, reverse
, found
, found_blk
),
1825 __field( dev_t
, dev
)
1826 __field( ino_t
, ino
)
1827 __field( ext4_lblk_t
, from
)
1828 __field( ext4_lblk_t
, to
)
1829 __field( int, reverse
)
1830 __field( int, found
)
1831 __field( ext4_lblk_t
, found_blk
)
1835 __entry
->dev
= inode
->i_sb
->s_dev
;
1836 __entry
->ino
= inode
->i_ino
;
1837 __entry
->from
= from
;
1839 __entry
->reverse
= reverse
;
1840 __entry
->found
= found
;
1841 __entry
->found_blk
= found_blk
;
1844 TP_printk("dev %d,%d ino %lu from %u to %u reverse %d found %d "
1846 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1847 (unsigned long) __entry
->ino
,
1848 (unsigned) __entry
->from
, (unsigned) __entry
->to
,
1849 __entry
->reverse
, __entry
->found
,
1850 (unsigned) __entry
->found_blk
)
1853 TRACE_EVENT(ext4_get_reserved_cluster_alloc
,
1854 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
, unsigned int len
),
1856 TP_ARGS(inode
, lblk
, len
),
1859 __field( dev_t
, dev
)
1860 __field( ino_t
, ino
)
1861 __field( ext4_lblk_t
, lblk
)
1862 __field( unsigned int, len
)
1866 __entry
->dev
= inode
->i_sb
->s_dev
;
1867 __entry
->ino
= inode
->i_ino
;
1868 __entry
->lblk
= lblk
;
1872 TP_printk("dev %d,%d ino %lu lblk %u len %u",
1873 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1874 (unsigned long) __entry
->ino
,
1875 (unsigned) __entry
->lblk
,
1879 TRACE_EVENT(ext4_ext_show_extent
,
1880 TP_PROTO(struct inode
*inode
, ext4_lblk_t lblk
, ext4_fsblk_t pblk
,
1881 unsigned short len
),
1883 TP_ARGS(inode
, lblk
, pblk
, len
),
1886 __field( dev_t
, dev
)
1887 __field( ino_t
, ino
)
1888 __field( ext4_fsblk_t
, pblk
)
1889 __field( ext4_lblk_t
, lblk
)
1890 __field( unsigned short, len
)
1894 __entry
->dev
= inode
->i_sb
->s_dev
;
1895 __entry
->ino
= inode
->i_ino
;
1896 __entry
->pblk
= pblk
;
1897 __entry
->lblk
= lblk
;
1901 TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u",
1902 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1903 (unsigned long) __entry
->ino
,
1904 (unsigned) __entry
->lblk
,
1905 (unsigned long long) __entry
->pblk
,
1906 (unsigned short) __entry
->len
)
1909 TRACE_EVENT(ext4_remove_blocks
,
1910 TP_PROTO(struct inode
*inode
, struct ext4_extent
*ex
,
1911 ext4_lblk_t from
, ext4_fsblk_t to
,
1912 ext4_fsblk_t partial_cluster
),
1914 TP_ARGS(inode
, ex
, from
, to
, partial_cluster
),
1917 __field( dev_t
, dev
)
1918 __field( ino_t
, ino
)
1919 __field( ext4_lblk_t
, from
)
1920 __field( ext4_lblk_t
, to
)
1921 __field( ext4_fsblk_t
, partial
)
1922 __field( ext4_fsblk_t
, ee_pblk
)
1923 __field( ext4_lblk_t
, ee_lblk
)
1924 __field( unsigned short, ee_len
)
1928 __entry
->dev
= inode
->i_sb
->s_dev
;
1929 __entry
->ino
= inode
->i_ino
;
1930 __entry
->from
= from
;
1932 __entry
->partial
= partial_cluster
;
1933 __entry
->ee_pblk
= ext4_ext_pblock(ex
);
1934 __entry
->ee_lblk
= cpu_to_le32(ex
->ee_block
);
1935 __entry
->ee_len
= ext4_ext_get_actual_len(ex
);
1938 TP_printk("dev %d,%d ino %lu extent [%u(%llu), %u]"
1939 "from %u to %u partial_cluster %u",
1940 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1941 (unsigned long) __entry
->ino
,
1942 (unsigned) __entry
->ee_lblk
,
1943 (unsigned long long) __entry
->ee_pblk
,
1944 (unsigned short) __entry
->ee_len
,
1945 (unsigned) __entry
->from
,
1946 (unsigned) __entry
->to
,
1947 (unsigned) __entry
->partial
)
1950 TRACE_EVENT(ext4_ext_rm_leaf
,
1951 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
,
1952 struct ext4_extent
*ex
, ext4_fsblk_t partial_cluster
),
1954 TP_ARGS(inode
, start
, ex
, partial_cluster
),
1957 __field( dev_t
, dev
)
1958 __field( ino_t
, ino
)
1959 __field( ext4_fsblk_t
, partial
)
1960 __field( ext4_lblk_t
, start
)
1961 __field( ext4_lblk_t
, ee_lblk
)
1962 __field( ext4_fsblk_t
, ee_pblk
)
1963 __field( short, ee_len
)
1967 __entry
->dev
= inode
->i_sb
->s_dev
;
1968 __entry
->ino
= inode
->i_ino
;
1969 __entry
->partial
= partial_cluster
;
1970 __entry
->start
= start
;
1971 __entry
->ee_lblk
= le32_to_cpu(ex
->ee_block
);
1972 __entry
->ee_pblk
= ext4_ext_pblock(ex
);
1973 __entry
->ee_len
= ext4_ext_get_actual_len(ex
);
1976 TP_printk("dev %d,%d ino %lu start_lblk %u last_extent [%u(%llu), %u]"
1977 "partial_cluster %u",
1978 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
1979 (unsigned long) __entry
->ino
,
1980 (unsigned) __entry
->start
,
1981 (unsigned) __entry
->ee_lblk
,
1982 (unsigned long long) __entry
->ee_pblk
,
1983 (unsigned short) __entry
->ee_len
,
1984 (unsigned) __entry
->partial
)
1987 TRACE_EVENT(ext4_ext_rm_idx
,
1988 TP_PROTO(struct inode
*inode
, ext4_fsblk_t pblk
),
1990 TP_ARGS(inode
, pblk
),
1993 __field( dev_t
, dev
)
1994 __field( ino_t
, ino
)
1995 __field( ext4_fsblk_t
, pblk
)
1999 __entry
->dev
= inode
->i_sb
->s_dev
;
2000 __entry
->ino
= inode
->i_ino
;
2001 __entry
->pblk
= pblk
;
2004 TP_printk("dev %d,%d ino %lu index_pblk %llu",
2005 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
2006 (unsigned long) __entry
->ino
,
2007 (unsigned long long) __entry
->pblk
)
2010 TRACE_EVENT(ext4_ext_remove_space
,
2011 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
, int depth
),
2013 TP_ARGS(inode
, start
, depth
),
2016 __field( dev_t
, dev
)
2017 __field( ino_t
, ino
)
2018 __field( ext4_lblk_t
, start
)
2019 __field( int, depth
)
2023 __entry
->dev
= inode
->i_sb
->s_dev
;
2024 __entry
->ino
= inode
->i_ino
;
2025 __entry
->start
= start
;
2026 __entry
->depth
= depth
;
2029 TP_printk("dev %d,%d ino %lu since %u depth %d",
2030 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
2031 (unsigned long) __entry
->ino
,
2032 (unsigned) __entry
->start
,
2036 TRACE_EVENT(ext4_ext_remove_space_done
,
2037 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
, int depth
,
2038 ext4_lblk_t partial
, unsigned short eh_entries
),
2040 TP_ARGS(inode
, start
, depth
, partial
, eh_entries
),
2043 __field( dev_t
, dev
)
2044 __field( ino_t
, ino
)
2045 __field( ext4_lblk_t
, start
)
2046 __field( int, depth
)
2047 __field( ext4_lblk_t
, partial
)
2048 __field( unsigned short, eh_entries
)
2052 __entry
->dev
= inode
->i_sb
->s_dev
;
2053 __entry
->ino
= inode
->i_ino
;
2054 __entry
->start
= start
;
2055 __entry
->depth
= depth
;
2056 __entry
->partial
= partial
;
2057 __entry
->eh_entries
= eh_entries
;
2060 TP_printk("dev %d,%d ino %lu since %u depth %d partial %u "
2061 "remaining_entries %u",
2062 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
2063 (unsigned long) __entry
->ino
,
2064 (unsigned) __entry
->start
,
2066 (unsigned) __entry
->partial
,
2067 (unsigned short) __entry
->eh_entries
)
2070 TRACE_EVENT(ext4_es_insert_extent
,
2071 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
, ext4_lblk_t len
),
2073 TP_ARGS(inode
, start
, len
),
2076 __field( dev_t
, dev
)
2077 __field( ino_t
, ino
)
2078 __field( loff_t
, start
)
2079 __field( loff_t
, len
)
2083 __entry
->dev
= inode
->i_sb
->s_dev
;
2084 __entry
->ino
= inode
->i_ino
;
2085 __entry
->start
= start
;
2089 TP_printk("dev %d,%d ino %lu es [%lld/%lld)",
2090 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
2091 (unsigned long) __entry
->ino
,
2092 __entry
->start
, __entry
->len
)
2095 TRACE_EVENT(ext4_es_remove_extent
,
2096 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
, ext4_lblk_t len
),
2098 TP_ARGS(inode
, start
, len
),
2101 __field( dev_t
, dev
)
2102 __field( ino_t
, ino
)
2103 __field( loff_t
, start
)
2104 __field( loff_t
, len
)
2108 __entry
->dev
= inode
->i_sb
->s_dev
;
2109 __entry
->ino
= inode
->i_ino
;
2110 __entry
->start
= start
;
2114 TP_printk("dev %d,%d ino %lu es [%lld/%lld)",
2115 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
2116 (unsigned long) __entry
->ino
,
2117 __entry
->start
, __entry
->len
)
2120 TRACE_EVENT(ext4_es_find_extent_enter
,
2121 TP_PROTO(struct inode
*inode
, ext4_lblk_t start
),
2123 TP_ARGS(inode
, start
),
2126 __field( dev_t
, dev
)
2127 __field( ino_t
, ino
)
2128 __field( ext4_lblk_t
, start
)
2132 __entry
->dev
= inode
->i_sb
->s_dev
;
2133 __entry
->ino
= inode
->i_ino
;
2134 __entry
->start
= start
;
2137 TP_printk("dev %d,%d ino %lu start %u",
2138 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
2139 (unsigned long) __entry
->ino
, __entry
->start
)
2142 TRACE_EVENT(ext4_es_find_extent_exit
,
2143 TP_PROTO(struct inode
*inode
, struct extent_status
*es
,
2146 TP_ARGS(inode
, es
, ret
),
2149 __field( dev_t
, dev
)
2150 __field( ino_t
, ino
)
2151 __field( ext4_lblk_t
, start
)
2152 __field( ext4_lblk_t
, len
)
2153 __field( ext4_lblk_t
, ret
)
2157 __entry
->dev
= inode
->i_sb
->s_dev
;
2158 __entry
->ino
= inode
->i_ino
;
2159 __entry
->start
= es
->start
;
2160 __entry
->len
= es
->len
;
2164 TP_printk("dev %d,%d ino %lu es [%u/%u) ret %u",
2165 MAJOR(__entry
->dev
), MINOR(__entry
->dev
),
2166 (unsigned long) __entry
->ino
,
2167 __entry
->start
, __entry
->len
, __entry
->ret
)
2170 #endif /* _TRACE_EXT4_H */
2172 /* This part must be outside protection */
2173 #include <trace/define_trace.h>