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