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 | |
5f4c791e | 419 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0) || \ |
b6af46d1 | 420 | LTTNG_KERNEL_RANGE(5,8,6, 5,9,0)) |
347a7ba0 MJ |
421 | LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations, |
422 | TP_PROTO(struct inode *inode, unsigned int len, unsigned int needed), | |
423 | ||
424 | TP_ARGS(inode, len, needed), | |
425 | ||
426 | TP_FIELDS( | |
427 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
428 | ctf_integer(ino_t, ino, inode->i_ino) | |
429 | ctf_integer(unsigned int, len, len) | |
430 | ctf_integer(unsigned int, needed, needed) | |
431 | ) | |
432 | ) | |
433 | #else | |
3bc29f0a | 434 | LTTNG_TRACEPOINT_EVENT(ext4_discard_preallocations, |
b87700e3 AG |
435 | TP_PROTO(struct inode *inode), |
436 | ||
437 | TP_ARGS(inode), | |
438 | ||
f127e61e MD |
439 | TP_FIELDS( |
440 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
441 | ctf_integer(ino_t, ino, inode->i_ino) | |
442 | ) | |
b87700e3 | 443 | ) |
347a7ba0 | 444 | #endif |
b87700e3 | 445 | |
3bc29f0a | 446 | LTTNG_TRACEPOINT_EVENT(ext4_mb_discard_preallocations, |
b87700e3 AG |
447 | TP_PROTO(struct super_block *sb, int needed), |
448 | ||
449 | TP_ARGS(sb, needed), | |
450 | ||
f127e61e MD |
451 | TP_FIELDS( |
452 | ctf_integer(dev_t, dev, sb->s_dev) | |
453 | ctf_integer(int, needed, needed) | |
454 | ) | |
b87700e3 AG |
455 | ) |
456 | ||
3bc29f0a | 457 | LTTNG_TRACEPOINT_EVENT(ext4_request_blocks, |
b87700e3 AG |
458 | TP_PROTO(struct ext4_allocation_request *ar), |
459 | ||
460 | TP_ARGS(ar), | |
461 | ||
f127e61e MD |
462 | TP_FIELDS( |
463 | ctf_integer(dev_t, dev, ar->inode->i_sb->s_dev) | |
464 | ctf_integer(ino_t, ino, ar->inode->i_ino) | |
465 | ctf_integer(unsigned int, len, ar->len) | |
466 | ctf_integer(__u32, logical, ar->logical) | |
467 | ctf_integer(__u32, lleft, ar->lleft) | |
468 | ctf_integer(__u32, lright, ar->lright) | |
469 | ctf_integer(__u64, goal, ar->goal) | |
470 | ctf_integer(__u64, pleft, ar->pleft) | |
471 | ctf_integer(__u64, pright, ar->pright) | |
472 | ctf_integer(unsigned int, flags, ar->flags) | |
473 | ) | |
b87700e3 AG |
474 | ) |
475 | ||
3bc29f0a | 476 | LTTNG_TRACEPOINT_EVENT(ext4_allocate_blocks, |
b87700e3 AG |
477 | TP_PROTO(struct ext4_allocation_request *ar, unsigned long long block), |
478 | ||
479 | TP_ARGS(ar, block), | |
480 | ||
f127e61e MD |
481 | TP_FIELDS( |
482 | ctf_integer(dev_t, dev, ar->inode->i_sb->s_dev) | |
483 | ctf_integer(ino_t, ino, ar->inode->i_ino) | |
484 | ctf_integer(__u64, block, block) | |
485 | ctf_integer(unsigned int, len, ar->len) | |
486 | ctf_integer(__u32, logical, ar->logical) | |
487 | ctf_integer(__u32, lleft, ar->lleft) | |
488 | ctf_integer(__u32, lright, ar->lright) | |
489 | ctf_integer(__u64, goal, ar->goal) | |
490 | ctf_integer(__u64, pleft, ar->pleft) | |
491 | ctf_integer(__u64, pright, ar->pright) | |
492 | ctf_integer(unsigned int, flags, ar->flags) | |
493 | ) | |
b87700e3 AG |
494 | ) |
495 | ||
3bc29f0a | 496 | LTTNG_TRACEPOINT_EVENT(ext4_free_blocks, |
b87700e3 AG |
497 | TP_PROTO(struct inode *inode, __u64 block, unsigned long count, |
498 | int flags), | |
499 | ||
500 | TP_ARGS(inode, block, count, flags), | |
b87700e3 | 501 | |
f127e61e MD |
502 | TP_FIELDS( |
503 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
504 | ctf_integer(ino_t, ino, inode->i_ino) | |
505 | ctf_integer(__u64, block, block) | |
506 | ctf_integer(unsigned long, count, count) | |
f127e61e MD |
507 | ctf_integer(int, flags, flags) |
508 | ctf_integer(TP_MODE_T, mode, inode->i_mode) | |
f127e61e | 509 | ) |
b87700e3 AG |
510 | ) |
511 | ||
3bc29f0a | 512 | LTTNG_TRACEPOINT_EVENT(ext4_sync_file_enter, |
b87700e3 AG |
513 | TP_PROTO(struct file *file, int datasync), |
514 | ||
515 | TP_ARGS(file, datasync), | |
b87700e3 | 516 | |
f127e61e | 517 | TP_FIELDS( |
f127e61e MD |
518 | ctf_integer(dev_t, dev, file->f_path.dentry->d_inode->i_sb->s_dev) |
519 | ctf_integer(ino_t, ino, file->f_path.dentry->d_inode->i_ino) | |
520 | ctf_integer(ino_t, parent, file->f_path.dentry->d_parent->d_inode->i_ino) | |
f127e61e MD |
521 | ctf_integer(int, datasync, datasync) |
522 | ) | |
b87700e3 AG |
523 | ) |
524 | ||
3bc29f0a | 525 | LTTNG_TRACEPOINT_EVENT(ext4_sync_file_exit, |
b87700e3 AG |
526 | TP_PROTO(struct inode *inode, int ret), |
527 | ||
528 | TP_ARGS(inode, ret), | |
529 | ||
f127e61e MD |
530 | TP_FIELDS( |
531 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
532 | ctf_integer(ino_t, ino, inode->i_ino) | |
533 | ctf_integer(int, ret, ret) | |
534 | ) | |
b87700e3 | 535 | ) |
b87700e3 | 536 | |
3bc29f0a | 537 | LTTNG_TRACEPOINT_EVENT(ext4_sync_fs, |
b87700e3 AG |
538 | TP_PROTO(struct super_block *sb, int wait), |
539 | ||
540 | TP_ARGS(sb, wait), | |
541 | ||
f127e61e MD |
542 | TP_FIELDS( |
543 | ctf_integer(dev_t, dev, sb->s_dev) | |
544 | ctf_integer(int, wait, wait) | |
b87700e3 | 545 | |
f127e61e | 546 | ) |
b87700e3 AG |
547 | ) |
548 | ||
5f4c791e | 549 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0)) |
cf101116 MJ |
550 | LTTNG_TRACEPOINT_EVENT(ext4_alloc_da_blocks, |
551 | TP_PROTO(struct inode *inode), | |
552 | ||
553 | TP_ARGS(inode), | |
554 | ||
555 | TP_FIELDS( | |
556 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
557 | ctf_integer(ino_t, ino, inode->i_ino) | |
558 | ctf_integer(unsigned int, data_blocks, EXT4_I(inode)->i_reserved_data_blocks) | |
559 | ) | |
560 | ) | |
561 | #else | |
3bc29f0a | 562 | LTTNG_TRACEPOINT_EVENT(ext4_alloc_da_blocks, |
b87700e3 AG |
563 | TP_PROTO(struct inode *inode), |
564 | ||
565 | TP_ARGS(inode), | |
566 | ||
f127e61e MD |
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 | ctf_integer(unsigned int, meta_blocks, EXT4_I(inode)->i_reserved_meta_blocks) | |
572 | ) | |
b87700e3 | 573 | ) |
cf101116 | 574 | #endif |
b87700e3 | 575 | |
3bc29f0a | 576 | LTTNG_TRACEPOINT_EVENT(ext4_mballoc_alloc, |
b87700e3 AG |
577 | TP_PROTO(struct ext4_allocation_context *ac), |
578 | ||
579 | TP_ARGS(ac), | |
580 | ||
f127e61e MD |
581 | TP_FIELDS( |
582 | ctf_integer(dev_t, dev, ac->ac_inode->i_sb->s_dev) | |
583 | ctf_integer(ino_t, ino, ac->ac_inode->i_ino) | |
584 | ctf_integer(__u32, orig_logical, ac->ac_o_ex.fe_logical) | |
585 | ctf_integer(int, orig_start, ac->ac_o_ex.fe_start) | |
586 | ctf_integer(__u32, orig_group, ac->ac_o_ex.fe_group) | |
587 | ctf_integer(int, orig_len, ac->ac_o_ex.fe_len) | |
588 | ctf_integer(__u32, goal_logical, ac->ac_g_ex.fe_logical) | |
589 | ctf_integer(int, goal_start, ac->ac_g_ex.fe_start) | |
590 | ctf_integer(__u32, goal_group, ac->ac_g_ex.fe_group) | |
591 | ctf_integer(int, goal_len, ac->ac_g_ex.fe_len) | |
592 | ctf_integer(__u32, result_logical, ac->ac_f_ex.fe_logical) | |
593 | ctf_integer(int, result_start, ac->ac_f_ex.fe_start) | |
594 | ctf_integer(__u32, result_group, ac->ac_f_ex.fe_group) | |
595 | ctf_integer(int, result_len, ac->ac_f_ex.fe_len) | |
596 | ctf_integer(__u16, found, ac->ac_found) | |
597 | ctf_integer(__u16, groups, ac->ac_groups_scanned) | |
598 | ctf_integer(__u16, buddy, ac->ac_buddy) | |
599 | ctf_integer(__u16, flags, ac->ac_flags) | |
600 | ctf_integer(__u16, tail, ac->ac_tail) | |
601 | ctf_integer(__u8, cr, ac->ac_criteria) | |
602 | ) | |
b87700e3 AG |
603 | ) |
604 | ||
3bc29f0a | 605 | LTTNG_TRACEPOINT_EVENT(ext4_mballoc_prealloc, |
b87700e3 AG |
606 | TP_PROTO(struct ext4_allocation_context *ac), |
607 | ||
608 | TP_ARGS(ac), | |
609 | ||
f127e61e MD |
610 | TP_FIELDS( |
611 | ctf_integer(dev_t, dev, ac->ac_inode->i_sb->s_dev) | |
612 | ctf_integer(ino_t, ino, ac->ac_inode->i_ino) | |
613 | ctf_integer(__u32, orig_logical, ac->ac_o_ex.fe_logical) | |
614 | ctf_integer(int, orig_start, ac->ac_o_ex.fe_start) | |
615 | ctf_integer(__u32, orig_group, ac->ac_o_ex.fe_group) | |
616 | ctf_integer(int, orig_len, ac->ac_o_ex.fe_len) | |
617 | ctf_integer(__u32, result_logical, ac->ac_b_ex.fe_logical) | |
618 | ctf_integer(int, result_start, ac->ac_b_ex.fe_start) | |
619 | ctf_integer(__u32, result_group, ac->ac_b_ex.fe_group) | |
620 | ctf_integer(int, result_len, ac->ac_b_ex.fe_len) | |
621 | ) | |
b87700e3 AG |
622 | ) |
623 | ||
3bc29f0a | 624 | LTTNG_TRACEPOINT_EVENT_CLASS(ext4__mballoc, |
b87700e3 AG |
625 | TP_PROTO(struct super_block *sb, |
626 | struct inode *inode, | |
627 | ext4_group_t group, | |
628 | ext4_grpblk_t start, | |
629 | ext4_grpblk_t len), | |
630 | ||
631 | TP_ARGS(sb, inode, group, start, len), | |
b87700e3 | 632 | |
f127e61e | 633 | TP_FIELDS( |
f127e61e MD |
634 | ctf_integer(dev_t, dev, sb->s_dev) |
635 | ctf_integer(ino_t, ino, inode ? inode->i_ino : 0) | |
636 | ctf_integer(int, result_start, start) | |
637 | ctf_integer(__u32, result_group, group) | |
638 | ctf_integer(int, result_len, len) | |
b87700e3 AG |
639 | ) |
640 | ) | |
641 | ||
3bc29f0a | 642 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc, ext4_mballoc_discard, |
b87700e3 | 643 | |
b87700e3 AG |
644 | TP_PROTO(struct super_block *sb, |
645 | struct inode *inode, | |
646 | ext4_group_t group, | |
647 | ext4_grpblk_t start, | |
648 | ext4_grpblk_t len), | |
649 | ||
650 | TP_ARGS(sb, inode, group, start, len) | |
b87700e3 AG |
651 | ) |
652 | ||
3bc29f0a | 653 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__mballoc, ext4_mballoc_free, |
b87700e3 | 654 | |
b87700e3 AG |
655 | TP_PROTO(struct super_block *sb, |
656 | struct inode *inode, | |
657 | ext4_group_t group, | |
658 | ext4_grpblk_t start, | |
659 | ext4_grpblk_t len), | |
660 | ||
661 | TP_ARGS(sb, inode, group, start, len) | |
b87700e3 AG |
662 | ) |
663 | ||
3bc29f0a | 664 | LTTNG_TRACEPOINT_EVENT(ext4_forget, |
b87700e3 AG |
665 | TP_PROTO(struct inode *inode, int is_metadata, __u64 block), |
666 | ||
667 | TP_ARGS(inode, is_metadata, block), | |
668 | ||
f127e61e MD |
669 | TP_FIELDS( |
670 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
671 | ctf_integer(ino_t, ino, inode->i_ino) | |
672 | ctf_integer(__u64, block, block) | |
673 | ctf_integer(int, is_metadata, is_metadata) | |
674 | ctf_integer(TP_MODE_T, mode, inode->i_mode) | |
675 | ) | |
b87700e3 | 676 | ) |
b87700e3 | 677 | |
5f4c791e | 678 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0)) |
3bc29f0a | 679 | LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space, |
b87700e3 AG |
680 | TP_PROTO(struct inode *inode, int used_blocks, int quota_claim), |
681 | ||
682 | TP_ARGS(inode, used_blocks, quota_claim), | |
cf101116 MJ |
683 | |
684 | TP_FIELDS( | |
685 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
686 | ctf_integer(ino_t, ino, inode->i_ino) | |
687 | ctf_integer(__u64, i_blocks, inode->i_blocks) | |
688 | ctf_integer(int, used_blocks, used_blocks) | |
689 | ctf_integer(int, reserved_data_blocks, | |
690 | EXT4_I(inode)->i_reserved_data_blocks) | |
691 | ctf_integer(int, quota_claim, quota_claim) | |
692 | ctf_integer(TP_MODE_T, mode, inode->i_mode) | |
693 | ) | |
694 | ) | |
09b8e4f6 | 695 | #else |
cf101116 MJ |
696 | LTTNG_TRACEPOINT_EVENT(ext4_da_update_reserve_space, |
697 | TP_PROTO(struct inode *inode, int used_blocks, int quota_claim), | |
698 | ||
699 | TP_ARGS(inode, used_blocks, quota_claim), | |
700 | ||
701 | TP_FIELDS( | |
702 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
703 | ctf_integer(ino_t, ino, inode->i_ino) | |
704 | ctf_integer(__u64, i_blocks, inode->i_blocks) | |
705 | ctf_integer(int, used_blocks, used_blocks) | |
706 | ctf_integer(int, reserved_data_blocks, | |
707 | EXT4_I(inode)->i_reserved_data_blocks) | |
708 | ctf_integer(int, reserved_meta_blocks, | |
709 | EXT4_I(inode)->i_reserved_meta_blocks) | |
710 | ctf_integer(int, allocated_meta_blocks, | |
711 | EXT4_I(inode)->i_allocated_meta_blocks) | |
712 | ctf_integer(int, quota_claim, quota_claim) | |
713 | ctf_integer(TP_MODE_T, mode, inode->i_mode) | |
714 | ) | |
715 | ) | |
cf101116 | 716 | #endif |
b87700e3 | 717 | |
5f4c791e | 718 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0)) |
cf101116 MJ |
719 | LTTNG_TRACEPOINT_EVENT(ext4_da_reserve_space, |
720 | TP_PROTO(struct inode *inode), | |
721 | ||
722 | TP_ARGS(inode), | |
723 | ||
724 | TP_FIELDS( | |
725 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
726 | ctf_integer(ino_t, ino, inode->i_ino) | |
727 | ctf_integer(__u64, i_blocks, inode->i_blocks) | |
728 | ctf_integer(int, reserved_data_blocks, | |
729 | EXT4_I(inode)->i_reserved_data_blocks) | |
730 | ctf_integer(TP_MODE_T, mode, inode->i_mode) | |
731 | ) | |
732 | ) | |
09b8e4f6 | 733 | #else |
5780f1e8 MD |
734 | LTTNG_TRACEPOINT_EVENT(ext4_da_reserve_space, |
735 | TP_PROTO(struct inode *inode), | |
736 | ||
737 | TP_ARGS(inode), | |
738 | ||
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(__u64, i_blocks, inode->i_blocks) | |
743 | ctf_integer(int, reserved_data_blocks, | |
744 | EXT4_I(inode)->i_reserved_data_blocks) | |
745 | ctf_integer(int, reserved_meta_blocks, | |
746 | EXT4_I(inode)->i_reserved_meta_blocks) | |
747 | ctf_integer(TP_MODE_T, mode, inode->i_mode) | |
748 | ) | |
749 | ) | |
cf101116 MJ |
750 | #endif |
751 | ||
5f4c791e | 752 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0)) |
cf101116 MJ |
753 | LTTNG_TRACEPOINT_EVENT(ext4_da_release_space, |
754 | TP_PROTO(struct inode *inode, int freed_blocks), | |
755 | ||
756 | TP_ARGS(inode, freed_blocks), | |
b87700e3 | 757 | |
cf101116 MJ |
758 | TP_FIELDS( |
759 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
760 | ctf_integer(ino_t, ino, inode->i_ino) | |
761 | ctf_integer(__u64, i_blocks, inode->i_blocks) | |
762 | ctf_integer(int, freed_blocks, freed_blocks) | |
763 | ctf_integer(int, reserved_data_blocks, | |
764 | EXT4_I(inode)->i_reserved_data_blocks) | |
765 | ctf_integer(TP_MODE_T, mode, inode->i_mode) | |
766 | ) | |
767 | ) | |
aa71c949 | 768 | #else |
3bc29f0a | 769 | LTTNG_TRACEPOINT_EVENT(ext4_da_release_space, |
b87700e3 AG |
770 | TP_PROTO(struct inode *inode, int freed_blocks), |
771 | ||
772 | TP_ARGS(inode, freed_blocks), | |
773 | ||
f127e61e MD |
774 | TP_FIELDS( |
775 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
776 | ctf_integer(ino_t, ino, inode->i_ino) | |
777 | ctf_integer(__u64, i_blocks, inode->i_blocks) | |
778 | ctf_integer(int, freed_blocks, freed_blocks) | |
779 | ctf_integer(int, reserved_data_blocks, | |
b87700e3 | 780 | EXT4_I(inode)->i_reserved_data_blocks) |
f127e61e | 781 | ctf_integer(int, reserved_meta_blocks, |
b87700e3 | 782 | EXT4_I(inode)->i_reserved_meta_blocks) |
f127e61e | 783 | ctf_integer(int, allocated_meta_blocks, |
b87700e3 | 784 | EXT4_I(inode)->i_allocated_meta_blocks) |
f127e61e MD |
785 | ctf_integer(TP_MODE_T, mode, inode->i_mode) |
786 | ) | |
b87700e3 AG |
787 | ) |
788 | #endif | |
789 | ||
3bc29f0a | 790 | LTTNG_TRACEPOINT_EVENT_CLASS(ext4__bitmap_load, |
b87700e3 AG |
791 | TP_PROTO(struct super_block *sb, unsigned long group), |
792 | ||
793 | TP_ARGS(sb, group), | |
794 | ||
f127e61e MD |
795 | TP_FIELDS( |
796 | ctf_integer(dev_t, dev, sb->s_dev) | |
797 | ctf_integer(__u32, group, group) | |
798 | ) | |
b87700e3 AG |
799 | ) |
800 | ||
3bc29f0a | 801 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_mb_bitmap_load, |
b87700e3 AG |
802 | |
803 | TP_PROTO(struct super_block *sb, unsigned long group), | |
804 | ||
805 | TP_ARGS(sb, group) | |
806 | ) | |
807 | ||
3bc29f0a | 808 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_mb_buddy_bitmap_load, |
b87700e3 AG |
809 | |
810 | TP_PROTO(struct super_block *sb, unsigned long group), | |
811 | ||
812 | TP_ARGS(sb, group) | |
813 | ) | |
b87700e3 | 814 | |
5f4c791e | 815 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0)) |
20e546d0 MJ |
816 | LTTNG_TRACEPOINT_EVENT(ext4_read_block_bitmap_load, |
817 | TP_PROTO(struct super_block *sb, unsigned long group, bool prefetch), | |
818 | ||
819 | TP_ARGS(sb, group, prefetch), | |
820 | ||
821 | TP_FIELDS( | |
822 | ctf_integer(dev_t, dev, sb->s_dev) | |
823 | ctf_integer(__u32, group, group) | |
824 | ctf_integer(bool, prefetch, prefetch) | |
825 | ) | |
826 | ) | |
827 | #else | |
3bc29f0a | 828 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_read_block_bitmap_load, |
b87700e3 AG |
829 | |
830 | TP_PROTO(struct super_block *sb, unsigned long group), | |
831 | ||
832 | TP_ARGS(sb, group) | |
833 | ) | |
20e546d0 | 834 | #endif |
b87700e3 | 835 | |
3bc29f0a | 836 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__bitmap_load, ext4_load_inode_bitmap, |
b87700e3 AG |
837 | |
838 | TP_PROTO(struct super_block *sb, unsigned long group), | |
839 | ||
840 | TP_ARGS(sb, group) | |
841 | ) | |
842 | ||
3bc29f0a | 843 | LTTNG_TRACEPOINT_EVENT(ext4_direct_IO_enter, |
b87700e3 AG |
844 | TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw), |
845 | ||
846 | TP_ARGS(inode, offset, len, rw), | |
847 | ||
f127e61e MD |
848 | TP_FIELDS( |
849 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
850 | ctf_integer(ino_t, ino, inode->i_ino) | |
851 | ctf_integer(loff_t, pos, offset) | |
852 | ctf_integer(unsigned long, len, len) | |
853 | ctf_integer(int, rw, rw) | |
854 | ) | |
b87700e3 AG |
855 | ) |
856 | ||
3bc29f0a | 857 | LTTNG_TRACEPOINT_EVENT(ext4_direct_IO_exit, |
b87700e3 AG |
858 | TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, |
859 | int rw, int ret), | |
860 | ||
861 | TP_ARGS(inode, offset, len, rw, ret), | |
862 | ||
f127e61e MD |
863 | TP_FIELDS( |
864 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
865 | ctf_integer(ino_t, ino, inode->i_ino) | |
866 | ctf_integer(loff_t, pos, offset) | |
867 | ctf_integer(unsigned long, len, len) | |
868 | ctf_integer(int, rw, rw) | |
869 | ctf_integer(int, ret, ret) | |
870 | ) | |
b87700e3 AG |
871 | ) |
872 | ||
3bc29f0a | 873 | LTTNG_TRACEPOINT_EVENT(ext4_fallocate_exit, |
11af8f55 MD |
874 | TP_PROTO(struct inode *inode, loff_t offset, |
875 | unsigned int max_blocks, int ret), | |
876 | ||
877 | TP_ARGS(inode, offset, max_blocks, ret), | |
878 | ||
f127e61e MD |
879 | TP_FIELDS( |
880 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
881 | ctf_integer(ino_t, ino, inode->i_ino) | |
882 | ctf_integer(loff_t, pos, offset) | |
883 | ctf_integer(unsigned int, blocks, max_blocks) | |
884 | ctf_integer(int, ret, ret) | |
885 | ) | |
11af8f55 MD |
886 | ) |
887 | ||
3bc29f0a | 888 | LTTNG_TRACEPOINT_EVENT_CLASS(ext4__fallocate_mode, |
b87700e3 AG |
889 | TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode), |
890 | ||
891 | TP_ARGS(inode, offset, len, mode), | |
892 | ||
f127e61e MD |
893 | TP_FIELDS( |
894 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
895 | ctf_integer(ino_t, ino, inode->i_ino) | |
896 | ctf_integer(loff_t, pos, offset) | |
897 | ctf_integer(loff_t, len, len) | |
898 | ctf_integer(int, mode, mode) | |
899 | ) | |
b87700e3 AG |
900 | ) |
901 | ||
3bc29f0a | 902 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode, ext4_fallocate_enter, |
b87700e3 | 903 | |
11af8f55 MD |
904 | TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode), |
905 | ||
906 | TP_ARGS(inode, offset, len, mode) | |
907 | ) | |
908 | ||
3bc29f0a | 909 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode, ext4_punch_hole, |
11af8f55 MD |
910 | |
911 | TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode), | |
912 | ||
913 | TP_ARGS(inode, offset, len, mode) | |
914 | ) | |
915 | ||
3bc29f0a | 916 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__fallocate_mode, ext4_zero_range, |
11af8f55 MD |
917 | |
918 | TP_PROTO(struct inode *inode, loff_t offset, loff_t len, int mode), | |
919 | ||
920 | TP_ARGS(inode, offset, len, mode) | |
921 | ) | |
922 | ||
3bc29f0a | 923 | LTTNG_TRACEPOINT_EVENT(ext4_unlink_enter, |
b87700e3 AG |
924 | TP_PROTO(struct inode *parent, struct dentry *dentry), |
925 | ||
926 | TP_ARGS(parent, dentry), | |
927 | ||
f127e61e MD |
928 | TP_FIELDS( |
929 | ctf_integer(dev_t, dev, dentry->d_inode->i_sb->s_dev) | |
930 | ctf_integer(ino_t, ino, dentry->d_inode->i_ino) | |
931 | ctf_integer(ino_t, parent, parent->i_ino) | |
932 | ctf_integer(loff_t, size, dentry->d_inode->i_size) | |
933 | ) | |
b87700e3 AG |
934 | ) |
935 | ||
3bc29f0a | 936 | LTTNG_TRACEPOINT_EVENT(ext4_unlink_exit, |
b87700e3 AG |
937 | TP_PROTO(struct dentry *dentry, int ret), |
938 | ||
939 | TP_ARGS(dentry, ret), | |
940 | ||
f127e61e MD |
941 | TP_FIELDS( |
942 | ctf_integer(dev_t, dev, dentry->d_inode->i_sb->s_dev) | |
943 | ctf_integer(ino_t, ino, dentry->d_inode->i_ino) | |
944 | ctf_integer(int, ret, ret) | |
945 | ) | |
b87700e3 AG |
946 | ) |
947 | ||
3bc29f0a | 948 | LTTNG_TRACEPOINT_EVENT_CLASS(ext4__truncate, |
b87700e3 AG |
949 | TP_PROTO(struct inode *inode), |
950 | ||
951 | TP_ARGS(inode), | |
952 | ||
f127e61e MD |
953 | TP_FIELDS( |
954 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
955 | ctf_integer(ino_t, ino, inode->i_ino) | |
956 | ctf_integer(unsigned int, blocks, inode->i_blocks) | |
957 | ) | |
b87700e3 AG |
958 | ) |
959 | ||
3bc29f0a | 960 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__truncate, ext4_truncate_enter, |
b87700e3 AG |
961 | |
962 | TP_PROTO(struct inode *inode), | |
963 | ||
964 | TP_ARGS(inode) | |
965 | ) | |
966 | ||
3bc29f0a | 967 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__truncate, ext4_truncate_exit, |
b87700e3 AG |
968 | |
969 | TP_PROTO(struct inode *inode), | |
970 | ||
971 | TP_ARGS(inode) | |
972 | ) | |
973 | ||
b87700e3 | 974 | /* 'ux' is the uninitialized extent. */ |
3bc29f0a | 975 | LTTNG_TRACEPOINT_EVENT(ext4_ext_convert_to_initialized_enter, |
b87700e3 AG |
976 | TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, |
977 | struct ext4_extent *ux), | |
978 | ||
979 | TP_ARGS(inode, map, ux), | |
980 | ||
f127e61e MD |
981 | TP_FIELDS( |
982 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
983 | ctf_integer(ino_t, ino, inode->i_ino) | |
984 | ctf_integer(ext4_lblk_t, m_lblk, map->m_lblk) | |
985 | ctf_integer(unsigned, m_len, map->m_len) | |
986 | ctf_integer(ext4_lblk_t, u_lblk, le32_to_cpu(ux->ee_block)) | |
987 | ctf_integer(unsigned, u_len, ext4_ext_get_actual_len(ux)) | |
988 | ctf_integer(ext4_fsblk_t, u_pblk, ext4_ext_pblock(ux)) | |
989 | ) | |
b87700e3 AG |
990 | ) |
991 | ||
992 | /* | |
993 | * 'ux' is the uninitialized extent. | |
994 | * 'ix' is the initialized extent to which blocks are transferred. | |
995 | */ | |
3bc29f0a | 996 | LTTNG_TRACEPOINT_EVENT(ext4_ext_convert_to_initialized_fastpath, |
b87700e3 AG |
997 | TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, |
998 | struct ext4_extent *ux, struct ext4_extent *ix), | |
999 | ||
1000 | TP_ARGS(inode, map, ux, ix), | |
1001 | ||
f127e61e MD |
1002 | TP_FIELDS( |
1003 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1004 | ctf_integer(ino_t, ino, inode->i_ino) | |
1005 | ctf_integer(ext4_lblk_t, m_lblk, map->m_lblk) | |
1006 | ctf_integer(unsigned, m_len, map->m_len) | |
1007 | ctf_integer(ext4_lblk_t, u_lblk, le32_to_cpu(ux->ee_block)) | |
1008 | ctf_integer(unsigned, u_len, ext4_ext_get_actual_len(ux)) | |
1009 | ctf_integer(ext4_fsblk_t, u_pblk, ext4_ext_pblock(ux)) | |
1010 | ctf_integer(ext4_lblk_t, i_lblk, le32_to_cpu(ix->ee_block)) | |
1011 | ctf_integer(unsigned, i_len, ext4_ext_get_actual_len(ix)) | |
1012 | ctf_integer(ext4_fsblk_t, i_pblk, ext4_ext_pblock(ix)) | |
1013 | ) | |
b87700e3 | 1014 | ) |
b87700e3 | 1015 | |
3bc29f0a | 1016 | LTTNG_TRACEPOINT_EVENT_CLASS(ext4__map_blocks_enter, |
b87700e3 AG |
1017 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, |
1018 | unsigned int len, unsigned int flags), | |
1019 | ||
1020 | TP_ARGS(inode, lblk, len, flags), | |
1021 | ||
f127e61e MD |
1022 | TP_FIELDS( |
1023 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1024 | ctf_integer(ino_t, ino, inode->i_ino) | |
1025 | ctf_integer(ext4_lblk_t, lblk, lblk) | |
1026 | ctf_integer(unsigned int, len, len) | |
1027 | ctf_integer(unsigned int, flags, flags) | |
1028 | ) | |
b87700e3 AG |
1029 | ) |
1030 | ||
3bc29f0a | 1031 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_enter, ext4_ext_map_blocks_enter, |
b87700e3 AG |
1032 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, |
1033 | unsigned len, unsigned flags), | |
1034 | ||
1035 | TP_ARGS(inode, lblk, len, flags) | |
1036 | ) | |
1037 | ||
3bc29f0a | 1038 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_enter, ext4_ind_map_blocks_enter, |
b87700e3 AG |
1039 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, |
1040 | unsigned len, unsigned flags), | |
1041 | ||
1042 | TP_ARGS(inode, lblk, len, flags) | |
1043 | ) | |
1044 | ||
3bc29f0a | 1045 | LTTNG_TRACEPOINT_EVENT_CLASS(ext4__map_blocks_exit, |
00be8842 MD |
1046 | TP_PROTO(struct inode *inode, unsigned flags, struct ext4_map_blocks *map, |
1047 | int ret), | |
1048 | ||
1049 | TP_ARGS(inode, flags, map, ret), | |
1050 | ||
f127e61e MD |
1051 | TP_FIELDS( |
1052 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1053 | ctf_integer(ino_t, ino, inode->i_ino) | |
1054 | ctf_integer(unsigned int, flags, flags) | |
1055 | ctf_integer(ext4_fsblk_t, pblk, map->m_pblk) | |
1056 | ctf_integer(ext4_lblk_t, lblk, map->m_lblk) | |
1057 | ctf_integer(unsigned int, len, map->m_len) | |
1058 | ctf_integer(unsigned int, mflags, map->m_flags) | |
1059 | ctf_integer(int, ret, ret) | |
1060 | ) | |
00be8842 MD |
1061 | ) |
1062 | ||
3bc29f0a | 1063 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit, ext4_ext_map_blocks_exit, |
00be8842 MD |
1064 | TP_PROTO(struct inode *inode, unsigned flags, |
1065 | struct ext4_map_blocks *map, int ret), | |
1066 | ||
1067 | TP_ARGS(inode, flags, map, ret) | |
1068 | ) | |
1069 | ||
3bc29f0a | 1070 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__map_blocks_exit, ext4_ind_map_blocks_exit, |
00be8842 MD |
1071 | TP_PROTO(struct inode *inode, unsigned flags, |
1072 | struct ext4_map_blocks *map, int ret), | |
1073 | ||
1074 | TP_ARGS(inode, flags, map, ret) | |
1075 | ) | |
1076 | ||
3bc29f0a | 1077 | LTTNG_TRACEPOINT_EVENT(ext4_ext_load_extent, |
b87700e3 AG |
1078 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk), |
1079 | ||
1080 | TP_ARGS(inode, lblk, pblk), | |
1081 | ||
f127e61e MD |
1082 | TP_FIELDS( |
1083 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1084 | ctf_integer(ino_t, ino, inode->i_ino) | |
1085 | ctf_integer(ext4_fsblk_t, pblk, pblk) | |
1086 | ctf_integer(ext4_lblk_t, lblk, lblk) | |
1087 | ) | |
b87700e3 AG |
1088 | ) |
1089 | ||
5f4c791e | 1090 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0)) |
e68322f3 MJ |
1091 | LTTNG_TRACEPOINT_EVENT(ext4_load_inode, |
1092 | TP_PROTO(struct super_block *sb, unsigned long ino), | |
1093 | ||
1094 | TP_ARGS(sb, ino), | |
1095 | ||
1096 | TP_FIELDS( | |
1097 | ctf_integer(dev_t, dev, sb->s_dev) | |
1098 | ctf_integer(ino_t, ino, ino) | |
1099 | ) | |
1100 | ) | |
1101 | #else | |
3bc29f0a | 1102 | LTTNG_TRACEPOINT_EVENT(ext4_load_inode, |
b87700e3 AG |
1103 | TP_PROTO(struct inode *inode), |
1104 | ||
1105 | TP_ARGS(inode), | |
1106 | ||
f127e61e MD |
1107 | TP_FIELDS( |
1108 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1109 | ctf_integer(ino_t, ino, inode->i_ino) | |
1110 | ) | |
b87700e3 | 1111 | ) |
e68322f3 | 1112 | #endif |
b87700e3 | 1113 | |
5f4c791e | 1114 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0)) |
bb0eb66d MJ |
1115 | |
1116 | LTTNG_TRACEPOINT_EVENT(ext4_journal_start, | |
1117 | TP_PROTO(struct super_block *sb, int blocks, int rsv_blocks, | |
1118 | int revoke_creds, unsigned long IP), | |
1119 | ||
1120 | TP_ARGS(sb, blocks, rsv_blocks, revoke_creds, IP), | |
1121 | ||
1122 | TP_FIELDS( | |
1123 | ctf_integer(dev_t, dev, sb->s_dev) | |
2c054599 | 1124 | ctf_integer_hex(unsigned long, ip, IP) |
bb0eb66d MJ |
1125 | ctf_integer(int, blocks, blocks) |
1126 | ctf_integer(int, rsv_blocks, rsv_blocks) | |
1127 | ctf_integer(int, revoke_creds, revoke_creds) | |
1128 | ) | |
1129 | ) | |
1130 | ||
1131 | LTTNG_TRACEPOINT_EVENT(ext4_journal_start_reserved, | |
1132 | TP_PROTO(struct super_block *sb, int blocks, unsigned long IP), | |
1133 | ||
1134 | TP_ARGS(sb, blocks, IP), | |
1135 | ||
1136 | TP_FIELDS( | |
1137 | ctf_integer(dev_t, dev, sb->s_dev) | |
2c054599 | 1138 | ctf_integer_hex(unsigned long, ip, IP) |
bb0eb66d MJ |
1139 | ctf_integer(int, blocks, blocks) |
1140 | ) | |
1141 | ) | |
1142 | ||
09b8e4f6 | 1143 | #else |
00be8842 | 1144 | |
3bc29f0a | 1145 | LTTNG_TRACEPOINT_EVENT(ext4_journal_start, |
00be8842 MD |
1146 | TP_PROTO(struct super_block *sb, int blocks, int rsv_blocks, |
1147 | unsigned long IP), | |
1148 | ||
1149 | TP_ARGS(sb, blocks, rsv_blocks, IP), | |
1150 | ||
f127e61e MD |
1151 | TP_FIELDS( |
1152 | ctf_integer(dev_t, dev, sb->s_dev) | |
2c054599 | 1153 | ctf_integer_hex(unsigned long, ip, IP) |
f127e61e MD |
1154 | ctf_integer(int, blocks, blocks) |
1155 | ctf_integer(int, rsv_blocks, rsv_blocks) | |
1156 | ) | |
00be8842 MD |
1157 | ) |
1158 | ||
3bc29f0a | 1159 | LTTNG_TRACEPOINT_EVENT(ext4_journal_start_reserved, |
00be8842 MD |
1160 | TP_PROTO(struct super_block *sb, int blocks, unsigned long IP), |
1161 | ||
1162 | TP_ARGS(sb, blocks, IP), | |
1163 | ||
f127e61e MD |
1164 | TP_FIELDS( |
1165 | ctf_integer(dev_t, dev, sb->s_dev) | |
2c054599 | 1166 | ctf_integer_hex(unsigned long, ip, IP) |
f127e61e MD |
1167 | ctf_integer(int, blocks, blocks) |
1168 | ) | |
00be8842 | 1169 | ) |
b87700e3 AG |
1170 | #endif |
1171 | ||
3bc29f0a | 1172 | LTTNG_TRACEPOINT_EVENT(ext4_ext_handle_uninitialized_extents, |
162774b4 MD |
1173 | TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int flags, |
1174 | unsigned int allocated, ext4_fsblk_t newblock), | |
1175 | ||
1176 | TP_ARGS(inode, map, flags, allocated, newblock), | |
b87700e3 | 1177 | |
f127e61e MD |
1178 | TP_FIELDS( |
1179 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1180 | ctf_integer(ino_t, ino, inode->i_ino) | |
f127e61e | 1181 | ctf_integer(int, flags, flags) |
f127e61e MD |
1182 | ctf_integer(ext4_lblk_t, lblk, map->m_lblk) |
1183 | ctf_integer(ext4_fsblk_t, pblk, map->m_pblk) | |
1184 | ctf_integer(unsigned int, len, map->m_len) | |
1185 | ctf_integer(unsigned int, allocated, allocated) | |
1186 | ctf_integer(ext4_fsblk_t, newblk, newblock) | |
1187 | ) | |
b87700e3 AG |
1188 | ) |
1189 | ||
3bc29f0a | 1190 | LTTNG_TRACEPOINT_EVENT(ext4_get_implied_cluster_alloc_exit, |
b87700e3 AG |
1191 | TP_PROTO(struct super_block *sb, struct ext4_map_blocks *map, int ret), |
1192 | ||
1193 | TP_ARGS(sb, map, ret), | |
1194 | ||
f127e61e MD |
1195 | TP_FIELDS( |
1196 | ctf_integer(dev_t, dev, sb->s_dev) | |
1197 | ctf_integer(unsigned int, flags, map->m_flags) | |
1198 | ctf_integer(ext4_lblk_t, lblk, map->m_lblk) | |
1199 | ctf_integer(ext4_fsblk_t, pblk, map->m_pblk) | |
1200 | ctf_integer(unsigned int, len, map->m_len) | |
1201 | ctf_integer(int, ret, ret) | |
1202 | ) | |
b87700e3 AG |
1203 | ) |
1204 | ||
3bc29f0a | 1205 | LTTNG_TRACEPOINT_EVENT(ext4_ext_put_in_cache, |
b87700e3 AG |
1206 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, unsigned int len, |
1207 | ext4_fsblk_t start), | |
1208 | ||
1209 | TP_ARGS(inode, lblk, len, start), | |
1210 | ||
f127e61e MD |
1211 | TP_FIELDS( |
1212 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1213 | ctf_integer(ino_t, ino, inode->i_ino) | |
1214 | ctf_integer(ext4_lblk_t, lblk, lblk) | |
1215 | ctf_integer(unsigned int, len, len) | |
1216 | ctf_integer(ext4_fsblk_t, start, start) | |
1217 | ) | |
b87700e3 AG |
1218 | ) |
1219 | ||
3bc29f0a | 1220 | LTTNG_TRACEPOINT_EVENT(ext4_ext_in_cache, |
b87700e3 AG |
1221 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, int ret), |
1222 | ||
1223 | TP_ARGS(inode, lblk, ret), | |
1224 | ||
f127e61e MD |
1225 | TP_FIELDS( |
1226 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1227 | ctf_integer(ino_t, ino, inode->i_ino) | |
1228 | ctf_integer(ext4_lblk_t, lblk, lblk) | |
1229 | ctf_integer(int, ret, ret) | |
1230 | ) | |
b87700e3 AG |
1231 | ) |
1232 | ||
3bc29f0a | 1233 | LTTNG_TRACEPOINT_EVENT(ext4_find_delalloc_range, |
b87700e3 AG |
1234 | TP_PROTO(struct inode *inode, ext4_lblk_t from, ext4_lblk_t to, |
1235 | int reverse, int found, ext4_lblk_t found_blk), | |
1236 | ||
1237 | TP_ARGS(inode, from, to, reverse, found, found_blk), | |
1238 | ||
f127e61e MD |
1239 | TP_FIELDS( |
1240 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1241 | ctf_integer(ino_t, ino, inode->i_ino) | |
1242 | ctf_integer(ext4_lblk_t, from, from) | |
1243 | ctf_integer(ext4_lblk_t, to, to) | |
1244 | ctf_integer(int, reverse, reverse) | |
1245 | ctf_integer(int, found, found) | |
1246 | ctf_integer(ext4_lblk_t, found_blk, found_blk) | |
1247 | ) | |
b87700e3 AG |
1248 | ) |
1249 | ||
3bc29f0a | 1250 | LTTNG_TRACEPOINT_EVENT(ext4_get_reserved_cluster_alloc, |
b87700e3 AG |
1251 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, unsigned int len), |
1252 | ||
1253 | TP_ARGS(inode, lblk, len), | |
1254 | ||
f127e61e MD |
1255 | TP_FIELDS( |
1256 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1257 | ctf_integer(ino_t, ino, inode->i_ino) | |
1258 | ctf_integer(ext4_lblk_t, lblk, lblk) | |
1259 | ctf_integer(unsigned int, len, len) | |
1260 | ) | |
b87700e3 AG |
1261 | ) |
1262 | ||
3bc29f0a | 1263 | LTTNG_TRACEPOINT_EVENT(ext4_ext_show_extent, |
b87700e3 AG |
1264 | TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk, |
1265 | unsigned short len), | |
1266 | ||
1267 | TP_ARGS(inode, lblk, pblk, len), | |
1268 | ||
f127e61e MD |
1269 | TP_FIELDS( |
1270 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1271 | ctf_integer(ino_t, ino, inode->i_ino) | |
1272 | ctf_integer(ext4_fsblk_t, pblk, pblk) | |
1273 | ctf_integer(ext4_lblk_t, lblk, lblk) | |
1274 | ctf_integer(unsigned short, len, len) | |
1275 | ) | |
b87700e3 AG |
1276 | ) |
1277 | ||
5f4c791e | 1278 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0) || \ |
3395f24e | 1279 | LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0)) |
85957268 MJ |
1280 | |
1281 | LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks, | |
1282 | TP_PROTO(struct inode *inode, struct ext4_extent *ex, | |
1283 | ext4_lblk_t from, ext4_fsblk_t to, | |
1284 | struct partial_cluster *pc), | |
1285 | ||
1286 | TP_ARGS(inode, ex, from, to, pc), | |
1287 | ||
1288 | TP_FIELDS( | |
1289 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1290 | ctf_integer(ino_t, ino, inode->i_ino) | |
1291 | ctf_integer(ext4_lblk_t, from, from) | |
1292 | ctf_integer(ext4_lblk_t, to, to) | |
1293 | ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex)) | |
1294 | ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block)) | |
1295 | ctf_integer(unsigned short, ee_len, ext4_ext_get_actual_len(ex)) | |
1296 | ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu) | |
1297 | ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk) | |
1298 | ctf_integer(int, pc_state, pc->state) | |
1299 | ) | |
1300 | ) | |
1301 | ||
09b8e4f6 | 1302 | #else |
00be8842 | 1303 | |
3bc29f0a | 1304 | LTTNG_TRACEPOINT_EVENT(ext4_remove_blocks, |
00be8842 MD |
1305 | TP_PROTO(struct inode *inode, struct ext4_extent *ex, |
1306 | ext4_lblk_t from, ext4_fsblk_t to, | |
1307 | long long partial_cluster), | |
1308 | ||
1309 | TP_ARGS(inode, ex, from, to, partial_cluster), | |
1310 | ||
f127e61e MD |
1311 | TP_FIELDS( |
1312 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1313 | ctf_integer(ino_t, ino, inode->i_ino) | |
1314 | ctf_integer(ext4_lblk_t, from, from) | |
1315 | ctf_integer(ext4_lblk_t, to, to) | |
1316 | ctf_integer(long long, partial, partial_cluster) | |
1317 | ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex)) | |
1318 | ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block)) | |
1319 | ctf_integer(unsigned short, ee_len, ext4_ext_get_actual_len(ex)) | |
1320 | ) | |
00be8842 MD |
1321 | ) |
1322 | ||
00be8842 MD |
1323 | #endif |
1324 | ||
5f4c791e | 1325 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0) || \ |
3395f24e | 1326 | LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0)) |
85957268 MJ |
1327 | |
1328 | LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf, | |
1329 | TP_PROTO(struct inode *inode, ext4_lblk_t start, | |
1330 | struct ext4_extent *ex, | |
1331 | struct partial_cluster *pc), | |
1332 | ||
1333 | TP_ARGS(inode, start, ex, pc), | |
1334 | ||
1335 | TP_FIELDS( | |
1336 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1337 | ctf_integer(ino_t, ino, inode->i_ino) | |
1338 | ctf_integer(ext4_lblk_t, start, start) | |
1339 | ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block)) | |
1340 | ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex)) | |
1341 | ctf_integer(short, ee_len, ext4_ext_get_actual_len(ex)) | |
1342 | ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu) | |
1343 | ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk) | |
1344 | ctf_integer(int, pc_state, pc->state) | |
1345 | ) | |
1346 | ) | |
1347 | ||
09b8e4f6 | 1348 | #else |
00be8842 | 1349 | |
3bc29f0a | 1350 | LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_leaf, |
00be8842 MD |
1351 | TP_PROTO(struct inode *inode, ext4_lblk_t start, |
1352 | struct ext4_extent *ex, | |
1353 | long long partial_cluster), | |
1354 | ||
1355 | TP_ARGS(inode, start, ex, partial_cluster), | |
1356 | ||
f127e61e MD |
1357 | TP_FIELDS( |
1358 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1359 | ctf_integer(ino_t, ino, inode->i_ino) | |
1360 | ctf_integer(long long, partial, partial_cluster) | |
1361 | ctf_integer(ext4_lblk_t, start, start) | |
1362 | ctf_integer(ext4_lblk_t, ee_lblk, le32_to_cpu(ex->ee_block)) | |
1363 | ctf_integer(ext4_fsblk_t, ee_pblk, ext4_ext_pblock(ex)) | |
1364 | ctf_integer(short, ee_len, ext4_ext_get_actual_len(ex)) | |
1365 | ) | |
00be8842 MD |
1366 | ) |
1367 | ||
00be8842 MD |
1368 | #endif |
1369 | ||
3bc29f0a | 1370 | LTTNG_TRACEPOINT_EVENT(ext4_ext_rm_idx, |
b87700e3 AG |
1371 | TP_PROTO(struct inode *inode, ext4_fsblk_t pblk), |
1372 | ||
1373 | TP_ARGS(inode, pblk), | |
1374 | ||
f127e61e MD |
1375 | TP_FIELDS( |
1376 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1377 | ctf_integer(ino_t, ino, inode->i_ino) | |
1378 | ctf_integer(ext4_fsblk_t, pblk, pblk) | |
1379 | ) | |
b87700e3 AG |
1380 | ) |
1381 | ||
3bc29f0a | 1382 | LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space, |
00be8842 MD |
1383 | TP_PROTO(struct inode *inode, ext4_lblk_t start, |
1384 | ext4_lblk_t end, int depth), | |
1385 | ||
1386 | TP_ARGS(inode, start, end, depth), | |
1387 | ||
f127e61e MD |
1388 | TP_FIELDS( |
1389 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1390 | ctf_integer(ino_t, ino, inode->i_ino) | |
1391 | ctf_integer(ext4_lblk_t, start, start) | |
1392 | ctf_integer(ext4_lblk_t, end, end) | |
1393 | ctf_integer(int, depth, depth) | |
1394 | ) | |
00be8842 MD |
1395 | ) |
1396 | ||
5f4c791e | 1397 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,20,0) || \ |
3395f24e | 1398 | LTTNG_RHEL_KERNEL_RANGE(4,18,0,147,0,0, 4,19,0,0,0,0)) |
85957268 MJ |
1399 | |
1400 | LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done, | |
1401 | TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end, | |
1402 | int depth, struct partial_cluster *pc, __le16 eh_entries), | |
1403 | ||
1404 | TP_ARGS(inode, start, end, depth, pc, eh_entries), | |
1405 | ||
1406 | TP_FIELDS( | |
1407 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1408 | ctf_integer(ino_t, ino, inode->i_ino) | |
1409 | ctf_integer(ext4_lblk_t, start, start) | |
1410 | ctf_integer(ext4_lblk_t, end, end) | |
1411 | ctf_integer(int, depth, depth) | |
1412 | ctf_integer(unsigned short, eh_entries, le16_to_cpu(eh_entries)) | |
1413 | ctf_integer(ext4_fsblk_t, pc_pclu, pc->pclu) | |
1414 | ctf_integer(ext4_lblk_t, pc_lblk, pc->lblk) | |
1415 | ctf_integer(int, pc_state, pc->state) | |
1416 | ) | |
1417 | ) | |
1418 | ||
09b8e4f6 | 1419 | #else |
00be8842 | 1420 | |
3bc29f0a | 1421 | LTTNG_TRACEPOINT_EVENT(ext4_ext_remove_space_done, |
00be8842 MD |
1422 | TP_PROTO(struct inode *inode, ext4_lblk_t start, ext4_lblk_t end, |
1423 | int depth, long long partial, __le16 eh_entries), | |
1424 | ||
1425 | TP_ARGS(inode, start, end, depth, partial, eh_entries), | |
1426 | ||
f127e61e MD |
1427 | TP_FIELDS( |
1428 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1429 | ctf_integer(ino_t, ino, inode->i_ino) | |
1430 | ctf_integer(ext4_lblk_t, start, start) | |
1431 | ctf_integer(ext4_lblk_t, end, end) | |
1432 | ctf_integer(int, depth, depth) | |
1433 | ctf_integer(long long, partial, partial) | |
1434 | ctf_integer(unsigned short, eh_entries, le16_to_cpu(eh_entries)) | |
1435 | ) | |
00be8842 MD |
1436 | ) |
1437 | ||
00be8842 MD |
1438 | #endif |
1439 | ||
3bc29f0a | 1440 | LTTNG_TRACEPOINT_EVENT_CLASS(ext4__es_extent, |
39aee4a0 MD |
1441 | TP_PROTO(struct inode *inode, struct extent_status *es), |
1442 | ||
1443 | TP_ARGS(inode, es), | |
1444 | ||
f127e61e MD |
1445 | TP_FIELDS( |
1446 | ctf_integer(dev_t, dev, inode->i_sb->s_dev) | |
1447 | ctf_integer(ino_t, ino, inode->i_ino) | |
1448 | ctf_integer(ext4_lblk_t, lblk, es->es_lblk) | |
1449 | ctf_integer(ext4_lblk_t, len, es->es_len) | |
1450 | ctf_integer(ext4_fsblk_t, pblk, ext4_es_pblock(es)) | |
1451 | ctf_integer(char, status, ext4_es_status(es)) | |
1452 | ) | |
39aee4a0 MD |
1453 | ) |
1454 | ||
3bc29f0a | 1455 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__es_extent, ext4_es_insert_extent, |
39aee4a0 MD |
1456 | TP_PROTO(struct inode *inode, struct extent_status *es), |
1457 | ||
1458 | TP_ARGS(inode, es) | |
1459 | ) | |
1460 | ||
3bc29f0a | 1461 | LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__es_extent, ext4_es_cache_extent, |
39aee4a0 MD |
1462 | TP_PROTO(struct inode *inode, struct extent_status *es), |
1463 | ||
1464 | TP_ARGS(inode, es) | |
1465 | ) | |
1466 | ||
5f4c791e | 1467 | #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0)) |
e68322f3 MJ |
1468 | LTTNG_TRACEPOINT_EVENT(ext4_fc_replay_scan, |
1469 | TP_PROTO(struct super_block *sb, int error, int off), | |
1470 | ||
1471 | TP_ARGS(sb, error, off), | |
1472 | ||
1473 | TP_FIELDS( | |
1474 | ctf_integer(dev_t, dev, sb->s_dev) | |
1475 | ctf_integer(int, error, error) | |
1476 | ctf_integer(int, off, off) | |
1477 | ) | |
1478 | ) | |
1479 | ||
1480 | LTTNG_TRACEPOINT_EVENT(ext4_fc_replay, | |
1481 | TP_PROTO(struct super_block *sb, int tag, int ino, int priv1, int priv2), | |
1482 | ||
1483 | TP_ARGS(sb, tag, ino, priv1, priv2), | |
1484 | ||
1485 | TP_FIELDS( | |
1486 | ctf_integer(dev_t, dev, sb->s_dev) | |
1487 | ctf_integer(int, tag, tag) | |
1488 | ctf_integer(int, ino, ino) | |
1489 | ctf_integer(int, priv1, priv1) | |
1490 | ctf_integer(int, priv2, priv2) | |
1491 | ) | |
1492 | ) | |
1493 | #endif | |
1494 | ||
3bc29f0a | 1495 | #endif /* LTTNG_TRACE_EXT4_H */ |
b87700e3 AG |
1496 | |
1497 | /* This part must be outside protection */ | |
3b4aafcb | 1498 | #include <lttng/define_trace.h> |