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