Update README.md for supported kernel
[lttng-modules.git] / instrumentation / events / lttng-module / ext4.h
CommitLineData
b7cdc182 1/* SPDX-License-Identifier: GPL-2.0-only */
b87700e3
AG
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM ext4
4
3bc29f0a
MD
5#if !defined(LTTNG_TRACE_EXT4_H) || defined(TRACE_HEADER_MULTI_READ)
6#define LTTNG_TRACE_EXT4_H
b87700e3 7
6ec43db8 8#include <probes/lttng-tracepoint-event.h>
b87700e3 9#include <linux/writeback.h>
b87700e3
AG
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;
b87700e3
AG
19struct ext4_extent;
20#endif
b87700e3
AG
21
22#define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode))
b87700e3 23#define TP_MODE_T __u16
b87700e3 24
3bc29f0a 25LTTNG_TRACEPOINT_EVENT(ext4_free_inode,
b87700e3
AG
26 TP_PROTO(struct inode *inode),
27
28 TP_ARGS(inode),
29
f127e61e
MD
30 TP_FIELDS(
31 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
32 ctf_integer(ino_t, ino, inode->i_ino)
f127e61e
MD
33 ctf_integer(uid_t, uid, i_uid_read(inode))
34 ctf_integer(gid_t, gid, i_gid_read(inode))
f127e61e
MD
35 ctf_integer(__u64, blocks, inode->i_blocks)
36 ctf_integer(TP_MODE_T, mode, inode->i_mode)
37 )
b87700e3
AG
38)
39
3bc29f0a 40LTTNG_TRACEPOINT_EVENT(ext4_request_inode,
b87700e3
AG
41 TP_PROTO(struct inode *dir, int mode),
42
43 TP_ARGS(dir, mode),
44
f127e61e
MD
45 TP_FIELDS(
46 ctf_integer(dev_t, dev, dir->i_sb->s_dev)
47 ctf_integer(ino_t, dir, dir->i_ino)
48 ctf_integer(TP_MODE_T, mode, mode)
49 )
b87700e3
AG
50)
51
3bc29f0a 52LTTNG_TRACEPOINT_EVENT(ext4_allocate_inode,
b87700e3
AG
53 TP_PROTO(struct inode *inode, struct inode *dir, int mode),
54
55 TP_ARGS(inode, dir, mode),
56
f127e61e
MD
57 TP_FIELDS(
58 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
59 ctf_integer(ino_t, ino, inode->i_ino)
60 ctf_integer(ino_t, dir, dir->i_ino)
61 ctf_integer(TP_MODE_T, mode, mode)
62 )
b87700e3
AG
63)
64
3bc29f0a 65LTTNG_TRACEPOINT_EVENT(ext4_evict_inode,
b87700e3
AG
66 TP_PROTO(struct inode *inode),
67
68 TP_ARGS(inode),
69
f127e61e
MD
70 TP_FIELDS(
71 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
72 ctf_integer(ino_t, ino, inode->i_ino)
73 ctf_integer(int, nlink, inode->i_nlink)
74 )
b87700e3
AG
75)
76
3bc29f0a 77LTTNG_TRACEPOINT_EVENT(ext4_drop_inode,
b87700e3
AG
78 TP_PROTO(struct inode *inode, int drop),
79
80 TP_ARGS(inode, drop),
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, drop, drop)
86 )
b87700e3
AG
87)
88
3bc29f0a 89LTTNG_TRACEPOINT_EVENT(ext4_mark_inode_dirty,
b87700e3
AG
90 TP_PROTO(struct inode *inode, unsigned long IP),
91
92 TP_ARGS(inode, IP),
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)
2c054599 97 ctf_integer_hex(unsigned long, ip, IP)
f127e61e 98 )
b87700e3
AG
99)
100
3bc29f0a 101LTTNG_TRACEPOINT_EVENT(ext4_begin_ordered_truncate,
b87700e3
AG
102 TP_PROTO(struct inode *inode, loff_t new_size),
103
104 TP_ARGS(inode, new_size),
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(loff_t, new_size, new_size)
110 )
b87700e3 111)
b87700e3 112
3bc29f0a 113LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_begin,
b87700e3
AG
114
115 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
116 unsigned int flags),
117
118 TP_ARGS(inode, pos, len, flags),
119
f127e61e
MD
120 TP_FIELDS(
121 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
122 ctf_integer(ino_t, ino, inode->i_ino)
123 ctf_integer(loff_t, pos, pos)
124 ctf_integer(unsigned int, len, len)
125 ctf_integer(unsigned int, flags, flags)
126 )
b87700e3
AG
127)
128
3bc29f0a 129LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin, ext4_write_begin,
b87700e3
AG
130
131 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
132 unsigned int flags),
133
134 TP_ARGS(inode, pos, len, flags)
135)
136
3bc29f0a 137LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_begin, ext4_da_write_begin,
b87700e3
AG
138
139 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
140 unsigned int flags),
141
142 TP_ARGS(inode, pos, len, flags)
143)
144
3bc29f0a 145LTTNG_TRACEPOINT_EVENT_CLASS(ext4__write_end,
b87700e3
AG
146 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
147 unsigned int copied),
148
149 TP_ARGS(inode, pos, len, copied),
150
f127e61e
MD
151 TP_FIELDS(
152 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
153 ctf_integer(ino_t, ino, inode->i_ino)
154 ctf_integer(loff_t, pos, pos)
155 ctf_integer(unsigned int, len, len)
156 ctf_integer(unsigned int, copied, copied)
157 )
b87700e3
AG
158)
159
3bc29f0a 160LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end, ext4_ordered_write_end,
b87700e3
AG
161
162 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
163 unsigned int copied),
164
165 TP_ARGS(inode, pos, len, copied)
166)
167
3bc29f0a 168LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end, ext4_writeback_write_end,
b87700e3
AG
169
170 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
171 unsigned int copied),
172
173 TP_ARGS(inode, pos, len, copied)
174)
175
3bc29f0a 176LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end, ext4_journalled_write_end,
b87700e3
AG
177
178 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
179 unsigned int copied),
180
181 TP_ARGS(inode, pos, len, copied)
182)
183
3bc29f0a 184LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__write_end, ext4_da_write_end,
b87700e3
AG
185
186 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,
187 unsigned int copied),
188
189 TP_ARGS(inode, pos, len, copied)
190)
191
3bc29f0a 192LTTNG_TRACEPOINT_EVENT(ext4_da_writepages,
b87700e3
AG
193 TP_PROTO(struct inode *inode, struct writeback_control *wbc),
194
195 TP_ARGS(inode, wbc),
196
f127e61e
MD
197 TP_FIELDS(
198 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
199 ctf_integer(ino_t, ino, inode->i_ino)
200 ctf_integer(long, nr_to_write, wbc->nr_to_write)
201 ctf_integer(long, pages_skipped, wbc->pages_skipped)
202 ctf_integer(loff_t, range_start, wbc->range_start)
203 ctf_integer(loff_t, range_end, wbc->range_end)
204 ctf_integer(pgoff_t, writeback_index, inode->i_mapping->writeback_index)
f127e61e 205 ctf_integer(int, sync_mode, wbc->sync_mode)
f127e61e 206 ctf_integer(char, for_kupdate, wbc->for_kupdate)
f127e61e
MD
207 ctf_integer(char, range_cyclic, wbc->range_cyclic)
208 )
b87700e3
AG
209)
210
3bc29f0a 211LTTNG_TRACEPOINT_EVENT(ext4_da_write_pages,
00be8842
MD
212 TP_PROTO(struct inode *inode, pgoff_t first_page,
213 struct writeback_control *wbc),
214
215 TP_ARGS(inode, first_page, wbc),
216
f127e61e
MD
217 TP_FIELDS(
218 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
219 ctf_integer(ino_t, ino, inode->i_ino)
220 ctf_integer(pgoff_t, first_page, first_page)
221 ctf_integer(long, nr_to_write, wbc->nr_to_write)
222 ctf_integer(int, sync_mode, wbc->sync_mode)
223 )
00be8842
MD
224)
225
3bc29f0a 226LTTNG_TRACEPOINT_EVENT(ext4_da_write_pages_extent,
c1b29b59
MD
227 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map),
228
229 TP_ARGS(inode, map),
230
f127e61e
MD
231 TP_FIELDS(
232 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
233 ctf_integer(ino_t, ino, inode->i_ino)
234 ctf_integer(__u64, lblk, map->m_lblk)
235 ctf_integer(__u32, len, map->m_len)
236 ctf_integer(__u32, flags, map->m_flags)
237 )
c1b29b59
MD
238)
239
3bc29f0a 240LTTNG_TRACEPOINT_EVENT(ext4_da_writepages_result,
b87700e3
AG
241 TP_PROTO(struct inode *inode, struct writeback_control *wbc,
242 int ret, int pages_written),
243
244 TP_ARGS(inode, wbc, ret, pages_written),
245
f127e61e
MD
246 TP_FIELDS(
247 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
248 ctf_integer(ino_t, ino, inode->i_ino)
249 ctf_integer(int, ret, ret)
250 ctf_integer(int, pages_written, pages_written)
251 ctf_integer(long, pages_skipped, wbc->pages_skipped)
252 ctf_integer(pgoff_t, writeback_index, inode->i_mapping->writeback_index)
f127e61e 253 ctf_integer(int, sync_mode, wbc->sync_mode)
f127e61e 254 )
b87700e3
AG
255)
256
3bc29f0a 257LTTNG_TRACEPOINT_EVENT_CLASS(ext4__page_op,
b87700e3
AG
258 TP_PROTO(struct page *page),
259
260 TP_ARGS(page),
261
f127e61e
MD
262 TP_FIELDS(
263 ctf_integer(dev_t, dev, page->mapping->host->i_sb->s_dev)
264 ctf_integer(ino_t, ino, page->mapping->host->i_ino)
265 ctf_integer(pgoff_t, index, page->index)
266 )
b87700e3
AG
267)
268
3bc29f0a 269LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op, ext4_writepage,
b87700e3
AG
270
271 TP_PROTO(struct page *page),
272
273 TP_ARGS(page)
274)
b87700e3 275
3bc29f0a 276LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op, ext4_readpage,
b87700e3
AG
277
278 TP_PROTO(struct page *page),
279
280 TP_ARGS(page)
281)
282
3bc29f0a 283LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__page_op, ext4_releasepage,
b87700e3
AG
284
285 TP_PROTO(struct page *page),
286
287 TP_ARGS(page)
288)
289
3bc29f0a 290LTTNG_TRACEPOINT_EVENT_CLASS(ext4_invalidatepage_op,
00be8842
MD
291 TP_PROTO(struct page *page, unsigned int offset, unsigned int length),
292
293 TP_ARGS(page, offset, length),
294
f127e61e
MD
295 TP_FIELDS(
296 ctf_integer(dev_t, dev, page->mapping->host->i_sb->s_dev)
297 ctf_integer(ino_t, ino, page->mapping->host->i_ino)
298 ctf_integer(pgoff_t, index, page->index)
299 ctf_integer(unsigned int, offset, offset)
300 ctf_integer(unsigned int, length, length)
301 )
00be8842
MD
302)
303
3bc29f0a 304LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4_invalidatepage_op, ext4_invalidatepage,
00be8842
MD
305 TP_PROTO(struct page *page, unsigned int offset, unsigned int length),
306
307 TP_ARGS(page, offset, length)
308)
309
3bc29f0a 310LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4_invalidatepage_op, ext4_journalled_invalidatepage,
00be8842
MD
311 TP_PROTO(struct page *page, unsigned int offset, unsigned int length),
312
313 TP_ARGS(page, offset, length)
314)
315
3bc29f0a 316LTTNG_TRACEPOINT_EVENT(ext4_discard_blocks,
b87700e3
AG
317 TP_PROTO(struct super_block *sb, unsigned long long blk,
318 unsigned long long count),
319
320 TP_ARGS(sb, blk, count),
321
f127e61e
MD
322 TP_FIELDS(
323 ctf_integer(dev_t, dev, sb->s_dev)
324 ctf_integer(__u64, blk, blk)
325 ctf_integer(__u64, count, count)
326 )
b87700e3
AG
327)
328
3bc29f0a 329LTTNG_TRACEPOINT_EVENT_CLASS(ext4__mb_new_pa,
b87700e3
AG
330 TP_PROTO(struct ext4_allocation_context *ac,
331 struct ext4_prealloc_space *pa),
332
333 TP_ARGS(ac, pa),
334
f127e61e
MD
335 TP_FIELDS(
336 ctf_integer(dev_t, dev, ac->ac_sb->s_dev)
337 ctf_integer(ino_t, ino, ac->ac_inode->i_ino)
338 ctf_integer(__u64, pa_pstart, pa->pa_pstart)
339 ctf_integer(__u64, pa_lstart, pa->pa_lstart)
340 ctf_integer(__u32, pa_len, pa->pa_len)
341 )
b87700e3
AG
342)
343
3bc29f0a 344LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mb_new_pa, ext4_mb_new_inode_pa,
b87700e3
AG
345
346 TP_PROTO(struct ext4_allocation_context *ac,
347 struct ext4_prealloc_space *pa),
348
349 TP_ARGS(ac, pa)
350)
351
3bc29f0a 352LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mb_new_pa, ext4_mb_new_group_pa,
b87700e3
AG
353
354 TP_PROTO(struct ext4_allocation_context *ac,
355 struct ext4_prealloc_space *pa),
356
357 TP_ARGS(ac, pa)
358)
359
3bc29f0a 360LTTNG_TRACEPOINT_EVENT(ext4_mb_release_inode_pa,
b87700e3 361 TP_PROTO(
b87700e3
AG
362 struct ext4_prealloc_space *pa,
363 unsigned long long block, unsigned int count),
364
b87700e3 365 TP_ARGS(pa, block, count),
b87700e3 366
f127e61e 367 TP_FIELDS(
f127e61e
MD
368 ctf_integer(dev_t, dev, pa->pa_inode->i_sb->s_dev)
369 ctf_integer(ino_t, ino, pa->pa_inode->i_ino)
f127e61e
MD
370 ctf_integer(__u64, block, block)
371 ctf_integer(__u32, count, count)
372 )
b87700e3
AG
373)
374
3bc29f0a 375LTTNG_TRACEPOINT_EVENT(ext4_mb_release_group_pa,
b87700e3 376
b87700e3
AG
377 TP_PROTO(struct super_block *sb, struct ext4_prealloc_space *pa),
378
379 TP_ARGS(sb, pa),
b87700e3 380
aa71c949
MJ
381 TP_FIELDS(
382 ctf_integer(dev_t, dev, sb->s_dev)
383 ctf_integer(__u64, pa_pstart, pa->pa_pstart)
384 ctf_integer(__u32, pa_len, pa->pa_len)
385 )
386)
b87700e3 387
3bc29f0a 388LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations,
b87700e3
AG
389 TP_PROTO(struct inode *inode),
390
391 TP_ARGS(inode),
392
f127e61e
MD
393 TP_FIELDS(
394 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
395 ctf_integer(ino_t, ino, inode->i_ino)
396 )
b87700e3
AG
397)
398
3bc29f0a 399LTTNG_TRACEPOINT_EVENT(ext4_mb_discard_preallocations,
b87700e3
AG
400 TP_PROTO(struct super_block *sb, int needed),
401
402 TP_ARGS(sb, needed),
403
f127e61e
MD
404 TP_FIELDS(
405 ctf_integer(dev_t, dev, sb->s_dev)
406 ctf_integer(int, needed, needed)
407 )
b87700e3
AG
408)
409
3bc29f0a 410LTTNG_TRACEPOINT_EVENT(ext4_request_blocks,
b87700e3
AG
411 TP_PROTO(struct ext4_allocation_request *ar),
412
413 TP_ARGS(ar),
414
f127e61e
MD
415 TP_FIELDS(
416 ctf_integer(dev_t, dev, ar->inode->i_sb->s_dev)
417 ctf_integer(ino_t, ino, ar->inode->i_ino)
418 ctf_integer(unsigned int, len, ar->len)
419 ctf_integer(__u32, logical, ar->logical)
420 ctf_integer(__u32, lleft, ar->lleft)
421 ctf_integer(__u32, lright, ar->lright)
422 ctf_integer(__u64, goal, ar->goal)
423 ctf_integer(__u64, pleft, ar->pleft)
424 ctf_integer(__u64, pright, ar->pright)
425 ctf_integer(unsigned int, flags, ar->flags)
426 )
b87700e3
AG
427)
428
3bc29f0a 429LTTNG_TRACEPOINT_EVENT(ext4_allocate_blocks,
b87700e3
AG
430 TP_PROTO(struct ext4_allocation_request *ar, unsigned long long block),
431
432 TP_ARGS(ar, block),
433
f127e61e
MD
434 TP_FIELDS(
435 ctf_integer(dev_t, dev, ar->inode->i_sb->s_dev)
436 ctf_integer(ino_t, ino, ar->inode->i_ino)
437 ctf_integer(__u64, block, block)
438 ctf_integer(unsigned int, len, ar->len)
439 ctf_integer(__u32, logical, ar->logical)
440 ctf_integer(__u32, lleft, ar->lleft)
441 ctf_integer(__u32, lright, ar->lright)
442 ctf_integer(__u64, goal, ar->goal)
443 ctf_integer(__u64, pleft, ar->pleft)
444 ctf_integer(__u64, pright, ar->pright)
445 ctf_integer(unsigned int, flags, ar->flags)
446 )
b87700e3
AG
447)
448
3bc29f0a 449LTTNG_TRACEPOINT_EVENT(ext4_free_blocks,
b87700e3
AG
450 TP_PROTO(struct inode *inode, __u64 block, unsigned long count,
451 int flags),
452
453 TP_ARGS(inode, block, count, flags),
b87700e3 454
f127e61e
MD
455 TP_FIELDS(
456 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
457 ctf_integer(ino_t, ino, inode->i_ino)
458 ctf_integer(__u64, block, block)
459 ctf_integer(unsigned long, count, count)
f127e61e
MD
460 ctf_integer(int, flags, flags)
461 ctf_integer(TP_MODE_T, mode, inode->i_mode)
f127e61e 462 )
b87700e3
AG
463)
464
3bc29f0a 465LTTNG_TRACEPOINT_EVENT(ext4_sync_file_enter,
b87700e3
AG
466 TP_PROTO(struct file *file, int datasync),
467
468 TP_ARGS(file, datasync),
b87700e3 469
f127e61e 470 TP_FIELDS(
f127e61e
MD
471 ctf_integer(dev_t, dev, file->f_path.dentry->d_inode->i_sb->s_dev)
472 ctf_integer(ino_t, ino, file->f_path.dentry->d_inode->i_ino)
473 ctf_integer(ino_t, parent, file->f_path.dentry->d_parent->d_inode->i_ino)
f127e61e
MD
474 ctf_integer(int, datasync, datasync)
475 )
b87700e3
AG
476)
477
3bc29f0a 478LTTNG_TRACEPOINT_EVENT(ext4_sync_file_exit,
b87700e3
AG
479 TP_PROTO(struct inode *inode, int ret),
480
481 TP_ARGS(inode, ret),
482
f127e61e
MD
483 TP_FIELDS(
484 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
485 ctf_integer(ino_t, ino, inode->i_ino)
486 ctf_integer(int, ret, ret)
487 )
b87700e3 488)
b87700e3 489
3bc29f0a 490LTTNG_TRACEPOINT_EVENT(ext4_sync_fs,
b87700e3
AG
491 TP_PROTO(struct super_block *sb, int wait),
492
493 TP_ARGS(sb, wait),
494
f127e61e
MD
495 TP_FIELDS(
496 ctf_integer(dev_t, dev, sb->s_dev)
497 ctf_integer(int, wait, wait)
b87700e3 498
f127e61e 499 )
b87700e3
AG
500)
501
3bc29f0a 502LTTNG_TRACEPOINT_EVENT(ext4_alloc_da_blocks,
b87700e3
AG
503 TP_PROTO(struct inode *inode),
504
505 TP_ARGS(inode),
506
f127e61e
MD
507 TP_FIELDS(
508 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
509 ctf_integer(ino_t, ino, inode->i_ino)
510 ctf_integer(unsigned int, data_blocks, EXT4_I(inode)->i_reserved_data_blocks)
f127e61e 511 )
b87700e3
AG
512)
513
3bc29f0a 514LTTNG_TRACEPOINT_EVENT(ext4_mballoc_alloc,
b87700e3
AG
515 TP_PROTO(struct ext4_allocation_context *ac),
516
517 TP_ARGS(ac),
518
f127e61e
MD
519 TP_FIELDS(
520 ctf_integer(dev_t, dev, ac->ac_inode->i_sb->s_dev)
521 ctf_integer(ino_t, ino, ac->ac_inode->i_ino)
522 ctf_integer(__u32, orig_logical, ac->ac_o_ex.fe_logical)
523 ctf_integer(int, orig_start, ac->ac_o_ex.fe_start)
524 ctf_integer(__u32, orig_group, ac->ac_o_ex.fe_group)
525 ctf_integer(int, orig_len, ac->ac_o_ex.fe_len)
526 ctf_integer(__u32, goal_logical, ac->ac_g_ex.fe_logical)
527 ctf_integer(int, goal_start, ac->ac_g_ex.fe_start)
528 ctf_integer(__u32, goal_group, ac->ac_g_ex.fe_group)
529 ctf_integer(int, goal_len, ac->ac_g_ex.fe_len)
530 ctf_integer(__u32, result_logical, ac->ac_f_ex.fe_logical)
531 ctf_integer(int, result_start, ac->ac_f_ex.fe_start)
532 ctf_integer(__u32, result_group, ac->ac_f_ex.fe_group)
533 ctf_integer(int, result_len, ac->ac_f_ex.fe_len)
534 ctf_integer(__u16, found, ac->ac_found)
535 ctf_integer(__u16, groups, ac->ac_groups_scanned)
536 ctf_integer(__u16, buddy, ac->ac_buddy)
537 ctf_integer(__u16, flags, ac->ac_flags)
538 ctf_integer(__u16, tail, ac->ac_tail)
539 ctf_integer(__u8, cr, ac->ac_criteria)
540 )
b87700e3
AG
541)
542
3bc29f0a 543LTTNG_TRACEPOINT_EVENT(ext4_mballoc_prealloc,
b87700e3
AG
544 TP_PROTO(struct ext4_allocation_context *ac),
545
546 TP_ARGS(ac),
547
f127e61e
MD
548 TP_FIELDS(
549 ctf_integer(dev_t, dev, ac->ac_inode->i_sb->s_dev)
550 ctf_integer(ino_t, ino, ac->ac_inode->i_ino)
551 ctf_integer(__u32, orig_logical, ac->ac_o_ex.fe_logical)
552 ctf_integer(int, orig_start, ac->ac_o_ex.fe_start)
553 ctf_integer(__u32, orig_group, ac->ac_o_ex.fe_group)
554 ctf_integer(int, orig_len, ac->ac_o_ex.fe_len)
555 ctf_integer(__u32, result_logical, ac->ac_b_ex.fe_logical)
556 ctf_integer(int, result_start, ac->ac_b_ex.fe_start)
557 ctf_integer(__u32, result_group, ac->ac_b_ex.fe_group)
558 ctf_integer(int, result_len, ac->ac_b_ex.fe_len)
559 )
b87700e3
AG
560)
561
3bc29f0a 562LTTNG_TRACEPOINT_EVENT_CLASS(ext4__mballoc,
b87700e3
AG
563 TP_PROTO(struct super_block *sb,
564 struct inode *inode,
565 ext4_group_t group,
566 ext4_grpblk_t start,
567 ext4_grpblk_t len),
568
569 TP_ARGS(sb, inode, group, start, len),
b87700e3 570
f127e61e 571 TP_FIELDS(
f127e61e
MD
572 ctf_integer(dev_t, dev, sb->s_dev)
573 ctf_integer(ino_t, ino, inode ? inode->i_ino : 0)
574 ctf_integer(int, result_start, start)
575 ctf_integer(__u32, result_group, group)
576 ctf_integer(int, result_len, len)
b87700e3
AG
577 )
578)
579
3bc29f0a 580LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc, ext4_mballoc_discard,
b87700e3 581
b87700e3
AG
582 TP_PROTO(struct super_block *sb,
583 struct inode *inode,
584 ext4_group_t group,
585 ext4_grpblk_t start,
586 ext4_grpblk_t len),
587
588 TP_ARGS(sb, inode, group, start, len)
b87700e3
AG
589)
590
3bc29f0a 591LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc, ext4_mballoc_free,
b87700e3 592
b87700e3
AG
593 TP_PROTO(struct super_block *sb,
594 struct inode *inode,
595 ext4_group_t group,
596 ext4_grpblk_t start,
597 ext4_grpblk_t len),
598
599 TP_ARGS(sb, inode, group, start, len)
b87700e3
AG
600)
601
3bc29f0a 602LTTNG_TRACEPOINT_EVENT(ext4_forget,
b87700e3
AG
603 TP_PROTO(struct inode *inode, int is_metadata, __u64 block),
604
605 TP_ARGS(inode, is_metadata, block),
606
f127e61e
MD
607 TP_FIELDS(
608 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
609 ctf_integer(ino_t, ino, inode->i_ino)
610 ctf_integer(__u64, block, block)
611 ctf_integer(int, is_metadata, is_metadata)
612 ctf_integer(TP_MODE_T, mode, inode->i_mode)
613 )
b87700e3 614)
b87700e3 615
3bc29f0a 616LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space,
b87700e3
AG
617 TP_PROTO(struct inode *inode, int used_blocks, int quota_claim),
618
619 TP_ARGS(inode, used_blocks, quota_claim),
cf101116
MJ
620
621 TP_FIELDS(
622 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
623 ctf_integer(ino_t, ino, inode->i_ino)
624 ctf_integer(__u64, i_blocks, inode->i_blocks)
625 ctf_integer(int, used_blocks, used_blocks)
626 ctf_integer(int, reserved_data_blocks,
627 EXT4_I(inode)->i_reserved_data_blocks)
628 ctf_integer(int, quota_claim, quota_claim)
629 ctf_integer(TP_MODE_T, mode, inode->i_mode)
630 )
631)
cf101116 632
cf101116
MJ
633LTTNG_TRACEPOINT_EVENT(ext4_da_reserve_space,
634 TP_PROTO(struct inode *inode),
635
636 TP_ARGS(inode),
637
638 TP_FIELDS(
639 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
640 ctf_integer(ino_t, ino, inode->i_ino)
641 ctf_integer(__u64, i_blocks, inode->i_blocks)
642 ctf_integer(int, reserved_data_blocks,
643 EXT4_I(inode)->i_reserved_data_blocks)
644 ctf_integer(TP_MODE_T, mode, inode->i_mode)
645 )
646)
5780f1e8 647
cf101116
MJ
648LTTNG_TRACEPOINT_EVENT(ext4_da_release_space,
649 TP_PROTO(struct inode *inode, int freed_blocks),
650
651 TP_ARGS(inode, freed_blocks),
b87700e3 652
cf101116
MJ
653 TP_FIELDS(
654 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
655 ctf_integer(ino_t, ino, inode->i_ino)
656 ctf_integer(__u64, i_blocks, inode->i_blocks)
657 ctf_integer(int, freed_blocks, freed_blocks)
658 ctf_integer(int, reserved_data_blocks,
659 EXT4_I(inode)->i_reserved_data_blocks)
660 ctf_integer(TP_MODE_T, mode, inode->i_mode)
661 )
662)
b87700e3 663
3bc29f0a 664LTTNG_TRACEPOINT_EVENT_CLASS(ext4__bitmap_load,
b87700e3
AG
665 TP_PROTO(struct super_block *sb, unsigned long group),
666
667 TP_ARGS(sb, group),
668
f127e61e
MD
669 TP_FIELDS(
670 ctf_integer(dev_t, dev, sb->s_dev)
671 ctf_integer(__u32, group, group)
672 )
b87700e3
AG
673)
674
3bc29f0a 675LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_mb_bitmap_load,
b87700e3
AG
676
677 TP_PROTO(struct super_block *sb, unsigned long group),
678
679 TP_ARGS(sb, group)
680)
681
3bc29f0a 682LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_mb_buddy_bitmap_load,
b87700e3
AG
683
684 TP_PROTO(struct super_block *sb, unsigned long group),
685
686 TP_ARGS(sb, group)
687)
b87700e3 688
3bc29f0a 689LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_read_block_bitmap_load,
b87700e3
AG
690
691 TP_PROTO(struct super_block *sb, unsigned long group),
692
693 TP_ARGS(sb, group)
694)
695
3bc29f0a 696LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_load_inode_bitmap,
b87700e3
AG
697
698 TP_PROTO(struct super_block *sb, unsigned long group),
699
700 TP_ARGS(sb, group)
701)
702
3bc29f0a 703LTTNG_TRACEPOINT_EVENT(ext4_direct_IO_enter,
b87700e3
AG
704 TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw),
705
706 TP_ARGS(inode, offset, len, rw),
707
f127e61e
MD
708 TP_FIELDS(
709 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
710 ctf_integer(ino_t, ino, inode->i_ino)
711 ctf_integer(loff_t, pos, offset)
712 ctf_integer(unsigned long, len, len)
713 ctf_integer(int, rw, rw)
714 )
b87700e3
AG
715)
716
3bc29f0a 717LTTNG_TRACEPOINT_EVENT(ext4_direct_IO_exit,
b87700e3
AG
718 TP_PROTO(struct inode *inode, loff_t offset, unsigned long len,
719 int rw, int ret),
720
721 TP_ARGS(inode, offset, len, rw, ret),
722
f127e61e
MD
723 TP_FIELDS(
724 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
725 ctf_integer(ino_t, ino, inode->i_ino)
726 ctf_integer(loff_t, pos, offset)
727 ctf_integer(unsigned long, len, len)
728 ctf_integer(int, rw, rw)
729 ctf_integer(int, ret, ret)
730 )
b87700e3
AG
731)
732
3bc29f0a 733LTTNG_TRACEPOINT_EVENT(ext4_fallocate_exit,
11af8f55
MD
734 TP_PROTO(struct inode *inode, loff_t offset,
735 unsigned int max_blocks, int ret),
736
737 TP_ARGS(inode, offset, max_blocks, ret),
738
f127e61e
MD
739 TP_FIELDS(
740 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
741 ctf_integer(ino_t, ino, inode->i_ino)
742 ctf_integer(loff_t, pos, offset)
743 ctf_integer(unsigned int, blocks, max_blocks)
744 ctf_integer(int, ret, ret)
745 )
11af8f55
MD
746)
747
3bc29f0a 748LTTNG_TRACEPOINT_EVENT_CLASS(ext4__fallocate_mode,
b87700e3
AG
749 TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
750
751 TP_ARGS(inode, offset, len, mode),
752
f127e61e
MD
753 TP_FIELDS(
754 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
755 ctf_integer(ino_t, ino, inode->i_ino)
756 ctf_integer(loff_t, pos, offset)
757 ctf_integer(loff_t, len, len)
758 ctf_integer(int, mode, mode)
759 )
b87700e3
AG
760)
761
3bc29f0a 762LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode, ext4_fallocate_enter,
b87700e3 763
11af8f55
MD
764 TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
765
766 TP_ARGS(inode, offset, len, mode)
767)
768
3bc29f0a 769LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode, ext4_punch_hole,
11af8f55
MD
770
771 TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
772
773 TP_ARGS(inode, offset, len, mode)
774)
775
3bc29f0a 776LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode, ext4_zero_range,
11af8f55
MD
777
778 TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode),
779
780 TP_ARGS(inode, offset, len, mode)
781)
782
3bc29f0a 783LTTNG_TRACEPOINT_EVENT(ext4_unlink_enter,
b87700e3
AG
784 TP_PROTO(struct inode *parent, struct dentry *dentry),
785
786 TP_ARGS(parent, dentry),
787
f127e61e
MD
788 TP_FIELDS(
789 ctf_integer(dev_t, dev, dentry->d_inode->i_sb->s_dev)
790 ctf_integer(ino_t, ino, dentry->d_inode->i_ino)
791 ctf_integer(ino_t, parent, parent->i_ino)
792 ctf_integer(loff_t, size, dentry->d_inode->i_size)
793 )
b87700e3
AG
794)
795
3bc29f0a 796LTTNG_TRACEPOINT_EVENT(ext4_unlink_exit,
b87700e3
AG
797 TP_PROTO(struct dentry *dentry, int ret),
798
799 TP_ARGS(dentry, ret),
800
f127e61e
MD
801 TP_FIELDS(
802 ctf_integer(dev_t, dev, dentry->d_inode->i_sb->s_dev)
803 ctf_integer(ino_t, ino, dentry->d_inode->i_ino)
804 ctf_integer(int, ret, ret)
805 )
b87700e3
AG
806)
807
3bc29f0a 808LTTNG_TRACEPOINT_EVENT_CLASS(ext4__truncate,
b87700e3
AG
809 TP_PROTO(struct inode *inode),
810
811 TP_ARGS(inode),
812
f127e61e
MD
813 TP_FIELDS(
814 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
815 ctf_integer(ino_t, ino, inode->i_ino)
816 ctf_integer(unsigned int, blocks, inode->i_blocks)
817 )
b87700e3
AG
818)
819
3bc29f0a 820LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__truncate, ext4_truncate_enter,
b87700e3
AG
821
822 TP_PROTO(struct inode *inode),
823
824 TP_ARGS(inode)
825)
826
3bc29f0a 827LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__truncate, ext4_truncate_exit,
b87700e3
AG
828
829 TP_PROTO(struct inode *inode),
830
831 TP_ARGS(inode)
832)
833
b87700e3 834/* 'ux' is the uninitialized extent. */
3bc29f0a 835LTTNG_TRACEPOINT_EVENT(ext4_ext_convert_to_initialized_enter,
b87700e3
AG
836 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map,
837 struct ext4_extent *ux),
838
839 TP_ARGS(inode, map, ux),
840
f127e61e
MD
841 TP_FIELDS(
842 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
843 ctf_integer(ino_t, ino, inode->i_ino)
844 ctf_integer(ext4_lblk_t, m_lblk, map->m_lblk)
845 ctf_integer(unsigned, m_len, map->m_len)
846 ctf_integer(ext4_lblk_t, u_lblk, le32_to_cpu(ux->ee_block))
847 ctf_integer(unsigned, u_len, ext4_ext_get_actual_len(ux))
848 ctf_integer(ext4_fsblk_t, u_pblk, ext4_ext_pblock(ux))
849 )
b87700e3
AG
850)
851
852/*
853 * 'ux' is the uninitialized extent.
854 * 'ix' is the initialized extent to which blocks are transferred.
855 */
3bc29f0a 856LTTNG_TRACEPOINT_EVENT(ext4_ext_convert_to_initialized_fastpath,
b87700e3
AG
857 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map,
858 struct ext4_extent *ux, struct ext4_extent *ix),
859
860 TP_ARGS(inode, map, ux, ix),
861
f127e61e
MD
862 TP_FIELDS(
863 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
864 ctf_integer(ino_t, ino, inode->i_ino)
865 ctf_integer(ext4_lblk_t, m_lblk, map->m_lblk)
866 ctf_integer(unsigned, m_len, map->m_len)
867 ctf_integer(ext4_lblk_t, u_lblk, le32_to_cpu(ux->ee_block))
868 ctf_integer(unsigned, u_len, ext4_ext_get_actual_len(ux))
869 ctf_integer(ext4_fsblk_t, u_pblk, ext4_ext_pblock(ux))
870 ctf_integer(ext4_lblk_t, i_lblk, le32_to_cpu(ix->ee_block))
871 ctf_integer(unsigned, i_len, ext4_ext_get_actual_len(ix))
872 ctf_integer(ext4_fsblk_t, i_pblk, ext4_ext_pblock(ix))
873 )
b87700e3 874)
b87700e3 875
3bc29f0a 876LTTNG_TRACEPOINT_EVENT_CLASS(ext4__map_blocks_enter,
b87700e3
AG
877 TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
878 unsigned int len, unsigned int flags),
879
880 TP_ARGS(inode, lblk, len, flags),
881
f127e61e
MD
882 TP_FIELDS(
883 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
884 ctf_integer(ino_t, ino, inode->i_ino)
885 ctf_integer(ext4_lblk_t, lblk, lblk)
886 ctf_integer(unsigned int, len, len)
887 ctf_integer(unsigned int, flags, flags)
888 )
b87700e3
AG
889)
890
3bc29f0a 891LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_enter, ext4_ext_map_blocks_enter,
b87700e3
AG
892 TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
893 unsigned len, unsigned flags),
894
895 TP_ARGS(inode, lblk, len, flags)
896)
897
3bc29f0a 898LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_enter, ext4_ind_map_blocks_enter,
b87700e3
AG
899 TP_PROTO(struct inode *inode, ext4_lblk_t lblk,
900 unsigned len, unsigned flags),
901
902 TP_ARGS(inode, lblk, len, flags)
903)
904
3bc29f0a 905LTTNG_TRACEPOINT_EVENT_CLASS(ext4__map_blocks_exit,
00be8842
MD
906 TP_PROTO(struct inode *inode, unsigned flags, struct ext4_map_blocks *map,
907 int ret),
908
909 TP_ARGS(inode, flags, map, ret),
910
f127e61e
MD
911 TP_FIELDS(
912 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
913 ctf_integer(ino_t, ino, inode->i_ino)
914 ctf_integer(unsigned int, flags, flags)
915 ctf_integer(ext4_fsblk_t, pblk, map->m_pblk)
916 ctf_integer(ext4_lblk_t, lblk, map->m_lblk)
917 ctf_integer(unsigned int, len, map->m_len)
918 ctf_integer(unsigned int, mflags, map->m_flags)
919 ctf_integer(int, ret, ret)
920 )
00be8842
MD
921)
922
3bc29f0a 923LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit, ext4_ext_map_blocks_exit,
00be8842
MD
924 TP_PROTO(struct inode *inode, unsigned flags,
925 struct ext4_map_blocks *map, int ret),
926
927 TP_ARGS(inode, flags, map, ret)
928)
929
3bc29f0a 930LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit, ext4_ind_map_blocks_exit,
00be8842
MD
931 TP_PROTO(struct inode *inode, unsigned flags,
932 struct ext4_map_blocks *map, int ret),
933
934 TP_ARGS(inode, flags, map, ret)
935)
936
3bc29f0a 937LTTNG_TRACEPOINT_EVENT(ext4_ext_load_extent,
b87700e3
AG
938 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk),
939
940 TP_ARGS(inode, lblk, pblk),
941
f127e61e
MD
942 TP_FIELDS(
943 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
944 ctf_integer(ino_t, ino, inode->i_ino)
945 ctf_integer(ext4_fsblk_t, pblk, pblk)
946 ctf_integer(ext4_lblk_t, lblk, lblk)
947 )
b87700e3
AG
948)
949
3bc29f0a 950LTTNG_TRACEPOINT_EVENT(ext4_load_inode,
b87700e3
AG
951 TP_PROTO(struct inode *inode),
952
953 TP_ARGS(inode),
954
f127e61e
MD
955 TP_FIELDS(
956 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
957 ctf_integer(ino_t, ino, inode->i_ino)
958 )
b87700e3 959)
b87700e3 960
bb0eb66d
MJ
961LTTNG_TRACEPOINT_EVENT(ext4_journal_start,
962 TP_PROTO(struct super_block *sb, int blocks, int rsv_blocks,
963 int revoke_creds, unsigned long IP),
964
965 TP_ARGS(sb, blocks, rsv_blocks, revoke_creds, IP),
966
967 TP_FIELDS(
968 ctf_integer(dev_t, dev, sb->s_dev)
2c054599 969 ctf_integer_hex(unsigned long, ip, IP)
bb0eb66d
MJ
970 ctf_integer(int, blocks, blocks)
971 ctf_integer(int, rsv_blocks, rsv_blocks)
972 ctf_integer(int, revoke_creds, revoke_creds)
973 )
974)
975
976LTTNG_TRACEPOINT_EVENT(ext4_journal_start_reserved,
977 TP_PROTO(struct super_block *sb, int blocks, unsigned long IP),
978
979 TP_ARGS(sb, blocks, IP),
980
981 TP_FIELDS(
982 ctf_integer(dev_t, dev, sb->s_dev)
2c054599 983 ctf_integer_hex(unsigned long, ip, IP)
bb0eb66d
MJ
984 ctf_integer(int, blocks, blocks)
985 )
986)
987
3bc29f0a 988LTTNG_TRACEPOINT_EVENT(ext4_ext_handle_uninitialized_extents,
162774b4
MD
989 TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int flags,
990 unsigned int allocated, ext4_fsblk_t newblock),
991
992 TP_ARGS(inode, map, flags, allocated, newblock),
b87700e3 993
f127e61e
MD
994 TP_FIELDS(
995 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
996 ctf_integer(ino_t, ino, inode->i_ino)
f127e61e 997 ctf_integer(int, flags, flags)
f127e61e
MD
998 ctf_integer(ext4_lblk_t, lblk, map->m_lblk)
999 ctf_integer(ext4_fsblk_t, pblk, map->m_pblk)
1000 ctf_integer(unsigned int, len, map->m_len)
1001 ctf_integer(unsigned int, allocated, allocated)
1002 ctf_integer(ext4_fsblk_t, newblk, newblock)
1003 )
b87700e3
AG
1004)
1005
3bc29f0a 1006LTTNG_TRACEPOINT_EVENT(ext4_get_implied_cluster_alloc_exit,
b87700e3
AG
1007 TP_PROTO(struct super_block *sb, struct ext4_map_blocks *map, int ret),
1008
1009 TP_ARGS(sb, map, ret),
1010
f127e61e
MD
1011 TP_FIELDS(
1012 ctf_integer(dev_t, dev, sb->s_dev)
1013 ctf_integer(unsigned int, flags, map->m_flags)
1014 ctf_integer(ext4_lblk_t, lblk, map->m_lblk)
1015 ctf_integer(ext4_fsblk_t, pblk, map->m_pblk)
1016 ctf_integer(unsigned int, len, map->m_len)
1017 ctf_integer(int, ret, ret)
1018 )
b87700e3
AG
1019)
1020
3bc29f0a 1021LTTNG_TRACEPOINT_EVENT(ext4_ext_put_in_cache,
b87700e3
AG
1022 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, unsigned int len,
1023 ext4_fsblk_t start),
1024
1025 TP_ARGS(inode, lblk, len, start),
1026
f127e61e
MD
1027 TP_FIELDS(
1028 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1029 ctf_integer(ino_t, ino, inode->i_ino)
1030 ctf_integer(ext4_lblk_t, lblk, lblk)
1031 ctf_integer(unsigned int, len, len)
1032 ctf_integer(ext4_fsblk_t, start, start)
1033 )
b87700e3
AG
1034)
1035
3bc29f0a 1036LTTNG_TRACEPOINT_EVENT(ext4_ext_in_cache,
b87700e3
AG
1037 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, int ret),
1038
1039 TP_ARGS(inode, lblk, ret),
1040
f127e61e
MD
1041 TP_FIELDS(
1042 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1043 ctf_integer(ino_t, ino, inode->i_ino)
1044 ctf_integer(ext4_lblk_t, lblk, lblk)
1045 ctf_integer(int, ret, ret)
1046 )
b87700e3
AG
1047)
1048
3bc29f0a 1049LTTNG_TRACEPOINT_EVENT(ext4_find_delalloc_range,
b87700e3
AG
1050 TP_PROTO(struct inode *inode, ext4_lblk_t from, ext4_lblk_t to,
1051 int reverse, int found, ext4_lblk_t found_blk),
1052
1053 TP_ARGS(inode, from, to, reverse, found, found_blk),
1054
f127e61e
MD
1055 TP_FIELDS(
1056 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1057 ctf_integer(ino_t, ino, inode->i_ino)
1058 ctf_integer(ext4_lblk_t, from, from)
1059 ctf_integer(ext4_lblk_t, to, to)
1060 ctf_integer(int, reverse, reverse)
1061 ctf_integer(int, found, found)
1062 ctf_integer(ext4_lblk_t, found_blk, found_blk)
1063 )
b87700e3
AG
1064)
1065
3bc29f0a 1066LTTNG_TRACEPOINT_EVENT(ext4_get_reserved_cluster_alloc,
b87700e3
AG
1067 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, unsigned int len),
1068
1069 TP_ARGS(inode, lblk, len),
1070
f127e61e
MD
1071 TP_FIELDS(
1072 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1073 ctf_integer(ino_t, ino, inode->i_ino)
1074 ctf_integer(ext4_lblk_t, lblk, lblk)
1075 ctf_integer(unsigned int, len, len)
1076 )
b87700e3
AG
1077)
1078
3bc29f0a 1079LTTNG_TRACEPOINT_EVENT(ext4_ext_show_extent,
b87700e3
AG
1080 TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk,
1081 unsigned short len),
1082
1083 TP_ARGS(inode, lblk, pblk, len),
1084
f127e61e
MD
1085 TP_FIELDS(
1086 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1087 ctf_integer(ino_t, ino, inode->i_ino)
1088 ctf_integer(ext4_fsblk_t, pblk, pblk)
1089 ctf_integer(ext4_lblk_t, lblk, lblk)
1090 ctf_integer(unsigned short, len, len)
1091 )
b87700e3
AG
1092)
1093
85957268
MJ
1094LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks,
1095 TP_PROTO(struct inode *inode, struct ext4_extent *ex,
1096 ext4_lblk_t from, ext4_fsblk_t to,
1097 struct partial_cluster *pc),
1098
1099 TP_ARGS(inode, ex, from, to, pc),
1100
1101 TP_FIELDS(
1102 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1103 ctf_integer(ino_t, ino, inode->i_ino)
1104 ctf_integer(ext4_lblk_t, from, from)
1105 ctf_integer(ext4_lblk_t, to, to)
1106 ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
1107 ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
1108 ctf_integer(unsigned short, ee_len, ext4_ext_get_actual_len(ex))
1109 ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
1110 ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
1111 ctf_integer(int, pc_state, pc->state)
1112 )
1113)
1114
85957268
MJ
1115LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf,
1116 TP_PROTO(struct inode *inode, ext4_lblk_t start,
1117 struct ext4_extent *ex,
1118 struct partial_cluster *pc),
1119
1120 TP_ARGS(inode, start, ex, pc),
1121
1122 TP_FIELDS(
1123 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1124 ctf_integer(ino_t, ino, inode->i_ino)
1125 ctf_integer(ext4_lblk_t, start, start)
1126 ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block))
1127 ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex))
1128 ctf_integer(short, ee_len, ext4_ext_get_actual_len(ex))
1129 ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
1130 ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
1131 ctf_integer(int, pc_state, pc->state)
1132 )
1133)
1134
3bc29f0a 1135LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_idx,
b87700e3
AG
1136 TP_PROTO(struct inode *inode, ext4_fsblk_t pblk),
1137
1138 TP_ARGS(inode, pblk),
1139
f127e61e
MD
1140 TP_FIELDS(
1141 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1142 ctf_integer(ino_t, ino, inode->i_ino)
1143 ctf_integer(ext4_fsblk_t, pblk, pblk)
1144 )
b87700e3
AG
1145)
1146
3bc29f0a 1147LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space,
00be8842
MD
1148 TP_PROTO(struct inode *inode, ext4_lblk_t start,
1149 ext4_lblk_t end, int depth),
1150
1151 TP_ARGS(inode, start, end, depth),
1152
f127e61e
MD
1153 TP_FIELDS(
1154 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1155 ctf_integer(ino_t, ino, inode->i_ino)
1156 ctf_integer(ext4_lblk_t, start, start)
1157 ctf_integer(ext4_lblk_t, end, end)
1158 ctf_integer(int, depth, depth)
1159 )
00be8842
MD
1160)
1161
85957268
MJ
1162LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done,
1163 TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end,
1164 int depth, struct partial_cluster *pc, __le16 eh_entries),
1165
1166 TP_ARGS(inode, start, end, depth, pc, eh_entries),
1167
1168 TP_FIELDS(
1169 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1170 ctf_integer(ino_t, ino, inode->i_ino)
1171 ctf_integer(ext4_lblk_t, start, start)
1172 ctf_integer(ext4_lblk_t, end, end)
1173 ctf_integer(int, depth, depth)
1174 ctf_integer(unsigned short, eh_entries, le16_to_cpu(eh_entries))
1175 ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu)
1176 ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk)
1177 ctf_integer(int, pc_state, pc->state)
1178 )
1179)
1180
3bc29f0a 1181LTTNG_TRACEPOINT_EVENT_CLASS(ext4__es_extent,
39aee4a0
MD
1182 TP_PROTO(struct inode *inode, struct extent_status *es),
1183
1184 TP_ARGS(inode, es),
1185
f127e61e
MD
1186 TP_FIELDS(
1187 ctf_integer(dev_t, dev, inode->i_sb->s_dev)
1188 ctf_integer(ino_t, ino, inode->i_ino)
1189 ctf_integer(ext4_lblk_t, lblk, es->es_lblk)
1190 ctf_integer(ext4_lblk_t, len, es->es_len)
1191 ctf_integer(ext4_fsblk_t, pblk, ext4_es_pblock(es))
1192 ctf_integer(char, status, ext4_es_status(es))
1193 )
39aee4a0
MD
1194)
1195
3bc29f0a 1196LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__es_extent, ext4_es_insert_extent,
39aee4a0
MD
1197 TP_PROTO(struct inode *inode, struct extent_status *es),
1198
1199 TP_ARGS(inode, es)
1200)
1201
3bc29f0a 1202LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__es_extent, ext4_es_cache_extent,
39aee4a0
MD
1203 TP_PROTO(struct inode *inode, struct extent_status *es),
1204
1205 TP_ARGS(inode, es)
1206)
1207
3bc29f0a 1208#endif /* LTTNG_TRACE_EXT4_H */
b87700e3
AG
1209
1210/* This part must be outside protection */
6ec43db8 1211#include <probes/define_trace.h>
This page took 0.094199 seconds and 4 git commands to generate.