fix: btrfs: make ordered extent tracepoint take btrfs_inode (v5.10)
[lttng-modules.git] / include / instrumentation / events / btrfs.h
CommitLineData
b7cdc182 1/* SPDX-License-Identifier: GPL-2.0-only */
b87700e3
AG
2#undef TRACE_SYSTEM
3#define TRACE_SYSTEM btrfs
4
3bc29f0a
MD
5#if !defined(LTTNG_TRACE_BTRFS_H) || defined(TRACE_HEADER_MULTI_READ)
6#define LTTNG_TRACE_BTRFS_H
b87700e3 7
3b4aafcb 8#include <lttng/tracepoint-event.h>
b87700e3 9#include <linux/writeback.h>
b87700e3
AG
10#include <linux/version.h>
11
12#ifndef _TRACE_BTRFS_DEF_
13#define _TRACE_BTRFS_DEF_
14struct btrfs_root;
15struct btrfs_fs_info;
16struct btrfs_inode;
17struct extent_map;
18struct btrfs_ordered_extent;
19struct btrfs_delayed_ref_node;
20struct btrfs_delayed_tree_ref;
21struct btrfs_delayed_data_ref;
22struct btrfs_delayed_ref_head;
5809d816
MJ
23#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
24struct btrfs_block_group;
25#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
b87700e3 26struct btrfs_block_group_cache;
5809d816
MJ
27#endif
28#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
b87700e3
AG
29struct btrfs_free_cluster;
30#endif
31struct map_lookup;
32struct extent_buffer;
33#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
34struct extent_state;
35#endif
36#endif
37
b87700e3
AG
38#define BTRFS_UUID_SIZE 16
39
9d2f1147
MJ
40#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,0,0))
41#define lttng_fs_info_fsid fs_info->fs_devices->fsid
42#else
43#define lttng_fs_info_fsid fs_info->fsid
44#endif
45
7ca7cd6e 46#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
0badc02f
MJ
47 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
48 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
49 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
7ca7cd6e 50 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1f1ec4ed
MJ
51LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit,
52
53 TP_PROTO(const struct btrfs_root *root),
54
55 TP_ARGS(root),
56
57 TP_FIELDS(
58 ctf_integer(u64, generation, root->fs_info->generation)
59 ctf_integer(u64, root_objectid, root->root_key.objectid)
60 )
61)
62
63LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__inode,
64
65 TP_PROTO(const struct inode *inode),
66
67 TP_ARGS(inode),
68
69 TP_FIELDS(
70 ctf_integer(ino_t, ino, inode->i_ino)
71 ctf_integer(blkcnt_t, blocks, inode->i_blocks)
72 ctf_integer(u64, disk_i_size, BTRFS_I(inode)->disk_i_size)
73 ctf_integer(u64, generation, BTRFS_I(inode)->generation)
74 ctf_integer(u64, last_trans, BTRFS_I(inode)->last_trans)
75 ctf_integer(u64, logged_trans, BTRFS_I(inode)->logged_trans)
76 ctf_integer(u64, root_objectid,
77 BTRFS_I(inode)->root->root_key.objectid)
78 )
79)
80
81LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_new,
82
83 TP_PROTO(const struct inode *inode),
84
85 TP_ARGS(inode)
86)
87
88LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_request,
89
90 TP_PROTO(const struct inode *inode),
91
92 TP_ARGS(inode)
93)
94
95LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_evict,
96
97 TP_PROTO(const struct inode *inode),
98
99 TP_ARGS(inode)
100)
101#else
3bc29f0a 102LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit,
b87700e3
AG
103
104 TP_PROTO(struct btrfs_root *root),
105
106 TP_ARGS(root),
107
f127e61e
MD
108 TP_FIELDS(
109 ctf_integer(u64, generation, root->fs_info->generation)
110 ctf_integer(u64, root_objectid, root->root_key.objectid)
111 )
b87700e3
AG
112)
113
3bc29f0a 114LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__inode,
b87700e3
AG
115
116 TP_PROTO(struct inode *inode),
117
118 TP_ARGS(inode),
119
f127e61e
MD
120 TP_FIELDS(
121 ctf_integer(ino_t, ino, inode->i_ino)
122 ctf_integer(blkcnt_t, blocks, inode->i_blocks)
123 ctf_integer(u64, disk_i_size, BTRFS_I(inode)->disk_i_size)
124 ctf_integer(u64, generation, BTRFS_I(inode)->generation)
125 ctf_integer(u64, last_trans, BTRFS_I(inode)->last_trans)
126 ctf_integer(u64, logged_trans, BTRFS_I(inode)->logged_trans)
127 ctf_integer(u64, root_objectid,
b87700e3 128 BTRFS_I(inode)->root->root_key.objectid)
f127e61e 129 )
b87700e3
AG
130)
131
3bc29f0a 132LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_new,
b87700e3
AG
133
134 TP_PROTO(struct inode *inode),
135
136 TP_ARGS(inode)
137)
138
3bc29f0a 139LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_request,
b87700e3
AG
140
141 TP_PROTO(struct inode *inode),
142
143 TP_ARGS(inode)
144)
145
3bc29f0a 146LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_evict,
b87700e3
AG
147
148 TP_PROTO(struct inode *inode),
149
150 TP_ARGS(inode)
151)
1f1ec4ed
MJ
152#endif
153
154#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
155
156LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
157
158 TP_PROTO(const struct btrfs_root *root, const struct btrfs_inode *inode,
159 const struct extent_map *map),
160
161 TP_ARGS(root, inode, map),
162
163 TP_FIELDS(
164 ctf_integer(u64, root_objectid, root->root_key.objectid)
165 ctf_integer(u64, ino, btrfs_ino(inode))
166 ctf_integer(u64, start, map->start)
167 ctf_integer(u64, len, map->len)
168 ctf_integer(u64, orig_start, map->orig_start)
169 ctf_integer(u64, block_start, map->block_start)
170 ctf_integer(u64, block_len, map->block_len)
171 ctf_integer(unsigned long, flags, map->flags)
172 ctf_integer(int, refs, refcount_read(&map->refs))
173 ctf_integer(unsigned int, compress_type, map->compress_type)
174 )
175)
b87700e3 176
1f1ec4ed 177#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0))
5807b1af
MJ
178
179LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
180
181 TP_PROTO(struct btrfs_root *root, struct btrfs_inode *inode,
182 struct extent_map *map),
183
184 TP_ARGS(root, inode, map),
185
186 TP_FIELDS(
187 ctf_integer(u64, root_objectid, root->root_key.objectid)
188 ctf_integer(u64, ino, btrfs_ino(inode))
189 ctf_integer(u64, start, map->start)
190 ctf_integer(u64, len, map->len)
191 ctf_integer(u64, orig_start, map->orig_start)
192 ctf_integer(u64, block_start, map->block_start)
193 ctf_integer(u64, block_len, map->block_len)
194 ctf_integer(unsigned long, flags, map->flags)
195 ctf_integer(int, refs, refcount_read(&map->refs))
196 ctf_integer(unsigned int, compress_type, map->compress_type)
197 )
198)
199
200#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
e52717ea
FD
201
202LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
203
204 TP_PROTO(struct btrfs_root *root, struct btrfs_inode *inode,
205 struct extent_map *map),
206
207 TP_ARGS(root, inode, map),
208
209 TP_FIELDS(
210 ctf_integer(u64, root_objectid, root->root_key.objectid)
211 ctf_integer(u64, ino, btrfs_ino(inode))
212 ctf_integer(u64, start, map->start)
213 ctf_integer(u64, len, map->len)
214 ctf_integer(u64, orig_start, map->orig_start)
215 ctf_integer(u64, block_start, map->block_start)
216 ctf_integer(u64, block_len, map->block_len)
217 ctf_integer(unsigned long, flags, map->flags)
218 ctf_integer(int, refs, atomic_read(&map->refs))
219 ctf_integer(unsigned int, compress_type, map->compress_type)
220 )
221)
222
223#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
f1a87e24 224
3bc29f0a 225LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
b87700e3 226
f3166f27
MD
227 TP_PROTO(struct btrfs_root *root, struct inode *inode,
228 struct extent_map *map),
b87700e3 229
f3166f27 230 TP_ARGS(root, inode, map),
b87700e3 231
f127e61e
MD
232 TP_FIELDS(
233 ctf_integer(u64, root_objectid, root->root_key.objectid)
f3166f27 234 ctf_integer(u64, ino, btrfs_ino(inode))
f127e61e
MD
235 ctf_integer(u64, start, map->start)
236 ctf_integer(u64, len, map->len)
237 ctf_integer(u64, orig_start, map->orig_start)
238 ctf_integer(u64, block_start, map->block_start)
239 ctf_integer(u64, block_len, map->block_len)
240 ctf_integer(unsigned long, flags, map->flags)
241 ctf_integer(int, refs, atomic_read(&map->refs))
242 ctf_integer(unsigned int, compress_type, map->compress_type)
243 )
b87700e3
AG
244)
245
0badc02f
MJ
246#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
247 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
248 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
249 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
7ca7cd6e
MJ
250
251LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
252
253 TP_PROTO(const struct btrfs_root *root, const struct extent_map *map),
254
255 TP_ARGS(root, map),
256
257 TP_FIELDS(
258 ctf_integer(u64, root_objectid, root->root_key.objectid)
259 ctf_integer(u64, start, map->start)
260 ctf_integer(u64, len, map->len)
261 ctf_integer(u64, orig_start, map->orig_start)
262 ctf_integer(u64, block_start, map->block_start)
263 ctf_integer(u64, block_len, map->block_len)
264 ctf_integer(unsigned long, flags, map->flags)
265 ctf_integer(int, refs, atomic_read(&map->refs))
266 ctf_integer(unsigned int, compress_type, map->compress_type)
267 )
268)
269
f1a87e24
MD
270#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
271
272LTTNG_TRACEPOINT_EVENT(btrfs_get_extent,
273
274 TP_PROTO(struct btrfs_root *root, struct extent_map *map),
275
276 TP_ARGS(root, map),
277
278 TP_FIELDS(
279 ctf_integer(u64, root_objectid, root->root_key.objectid)
280 ctf_integer(u64, start, map->start)
281 ctf_integer(u64, len, map->len)
282 ctf_integer(u64, orig_start, map->orig_start)
283 ctf_integer(u64, block_start, map->block_start)
284 ctf_integer(u64, block_len, map->block_len)
285 ctf_integer(unsigned long, flags, map->flags)
286 ctf_integer(int, refs, atomic_read(&map->refs))
287 ctf_integer(unsigned int, compress_type, map->compress_type)
288 )
289)
290
291#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
292
ae5af8ea
MJ
293#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
294LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist,
295
296 TP_PROTO(const struct btrfs_fs_info *fs_info,
297 const struct extent_map *existing, const struct extent_map *map,
298 u64 start, u64 len),
299
300 TP_ARGS(fs_info, existing, map, start, len),
301
302 TP_FIELDS(
303 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
304 ctf_integer(u64, e_start, existing->start)
305 ctf_integer(u64, e_len, existing->len)
306 ctf_integer(u64, map_start, map->start)
307 ctf_integer(u64, map_len, map->len)
308 ctf_integer(u64, start, start)
309 ctf_integer(u64, len, len)
310 )
311)
312#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
354b9790
MJ
313LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist,
314
315 TP_PROTO(struct btrfs_fs_info *fs_info,
316 const struct extent_map *existing, const struct extent_map *map,
317 u64 start, u64 len),
318
319 TP_ARGS(fs_info, existing, map, start, len),
320
321 TP_FIELDS(
9d2f1147 322 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
354b9790
MJ
323 ctf_integer(u64, e_start, existing->start)
324 ctf_integer(u64, e_len, existing->len)
325 ctf_integer(u64, map_start, map->start)
326 ctf_integer(u64, map_len, map->len)
327 ctf_integer(u64, start, start)
328 ctf_integer(u64, len, len)
329 )
330)
331#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,17,0))
22df20ca
MJ
332LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist,
333
334 TP_PROTO(const struct extent_map *existing, const struct extent_map *map, u64 start, u64 len),
335
336 TP_ARGS(existing, map, start, len),
337
338 TP_FIELDS(
339 ctf_integer(u64, e_start, existing->start)
340 ctf_integer(u64, e_len, existing->len)
341 ctf_integer(u64, map_start, map->start)
342 ctf_integer(u64, map_len, map->len)
343 ctf_integer(u64, start, start)
344 ctf_integer(u64, len, len)
345 )
346)
347#endif
348
7dc44138
MJ
349#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
350LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
351
352 TP_PROTO(const struct btrfs_inode *inode,
353 const struct btrfs_ordered_extent *ordered),
354
355 TP_ARGS(inode, ordered),
356
357 TP_FIELDS(
358 ctf_array(u8, fsid, inode->root->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
359 ctf_integer(ino_t, ino, btrfs_ino(inode))
360 ctf_integer(u64, file_offset, ordered->file_offset)
361 ctf_integer(u64, start, ordered->disk_bytenr)
362 ctf_integer(u64, len, ordered->num_bytes)
363 ctf_integer(u64, disk_len, ordered->disk_num_bytes)
364 ctf_integer(u64, bytes_left, ordered->bytes_left)
365 ctf_integer(unsigned long, flags, ordered->flags)
366 ctf_integer(int, compress_type, ordered->compress_type)
367 ctf_integer(int, refs, refcount_read(&ordered->refs))
368 ctf_integer(u64, root_objectid, inode->root->root_key.objectid)
369 )
370)
371#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0))
f7afb954
MJ
372LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
373
374 TP_PROTO(const struct inode *inode,
375 const struct btrfs_ordered_extent *ordered),
376
377 TP_ARGS(inode, ordered),
378
379 TP_FIELDS(
380 ctf_integer(ino_t, ino, inode->i_ino)
381 ctf_integer(u64, file_offset, ordered->file_offset)
382 ctf_integer(u64, start, ordered->disk_bytenr)
383 ctf_integer(u64, len, ordered->num_bytes)
384 ctf_integer(u64, disk_len, ordered->disk_num_bytes)
385 ctf_integer(u64, bytes_left, ordered->bytes_left)
386 ctf_integer(unsigned long, flags, ordered->flags)
387 ctf_integer(int, compress_type, ordered->compress_type)
388 ctf_integer(int, refs, refcount_read(&ordered->refs))
389 ctf_integer(u64, root_objectid,
390 BTRFS_I(inode)->root->root_key.objectid)
391 )
392)
393#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
1f1ec4ed
MJ
394LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
395
396 TP_PROTO(const struct inode *inode,
397 const struct btrfs_ordered_extent *ordered),
398
399 TP_ARGS(inode, ordered),
400
401 TP_FIELDS(
402 ctf_integer(ino_t, ino, inode->i_ino)
403 ctf_integer(u64, file_offset, ordered->file_offset)
404 ctf_integer(u64, start, ordered->start)
405 ctf_integer(u64, len, ordered->len)
406 ctf_integer(u64, disk_len, ordered->disk_len)
407 ctf_integer(u64, bytes_left, ordered->bytes_left)
408 ctf_integer(unsigned long, flags, ordered->flags)
409 ctf_integer(int, compress_type, ordered->compress_type)
410 ctf_integer(int, refs, refcount_read(&ordered->refs))
411 ctf_integer(u64, root_objectid,
412 BTRFS_I(inode)->root->root_key.objectid)
413 )
414)
415#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0))
5807b1af
MJ
416LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
417
418 TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
419
420 TP_ARGS(inode, ordered),
421
422 TP_FIELDS(
423 ctf_integer(ino_t, ino, inode->i_ino)
424 ctf_integer(u64, file_offset, ordered->file_offset)
425 ctf_integer(u64, start, ordered->start)
426 ctf_integer(u64, len, ordered->len)
427 ctf_integer(u64, disk_len, ordered->disk_len)
428 ctf_integer(u64, bytes_left, ordered->bytes_left)
429 ctf_integer(unsigned long, flags, ordered->flags)
430 ctf_integer(int, compress_type, ordered->compress_type)
431 ctf_integer(int, refs, refcount_read(&ordered->refs))
432 ctf_integer(u64, root_objectid,
433 BTRFS_I(inode)->root->root_key.objectid)
434 )
435)
0badc02f
MJ
436#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
437 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
438 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
439 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
7ca7cd6e
MJ
440LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
441
442 TP_PROTO(const struct inode *inode, const struct btrfs_ordered_extent *ordered),
443
444 TP_ARGS(inode, ordered),
445
446 TP_FIELDS(
447 ctf_integer(ino_t, ino, inode->i_ino)
448 ctf_integer(u64, file_offset, ordered->file_offset)
449 ctf_integer(u64, start, ordered->start)
450 ctf_integer(u64, len, ordered->len)
451 ctf_integer(u64, disk_len, ordered->disk_len)
452 ctf_integer(u64, bytes_left, ordered->bytes_left)
453 ctf_integer(unsigned long, flags, ordered->flags)
454 ctf_integer(int, compress_type, ordered->compress_type)
455 ctf_integer(int, refs, atomic_read(&ordered->refs))
456 ctf_integer(u64, root_objectid,
457 BTRFS_I(inode)->root->root_key.objectid)
458 )
459)
5807b1af 460#else
3bc29f0a 461LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent,
b87700e3
AG
462
463 TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
464
465 TP_ARGS(inode, ordered),
466
f127e61e
MD
467 TP_FIELDS(
468 ctf_integer(ino_t, ino, inode->i_ino)
469 ctf_integer(u64, file_offset, ordered->file_offset)
470 ctf_integer(u64, start, ordered->start)
471 ctf_integer(u64, len, ordered->len)
472 ctf_integer(u64, disk_len, ordered->disk_len)
473 ctf_integer(u64, bytes_left, ordered->bytes_left)
474 ctf_integer(unsigned long, flags, ordered->flags)
475 ctf_integer(int, compress_type, ordered->compress_type)
476 ctf_integer(int, refs, atomic_read(&ordered->refs))
477 ctf_integer(u64, root_objectid,
b87700e3 478 BTRFS_I(inode)->root->root_key.objectid)
f127e61e 479 )
b87700e3 480)
5807b1af 481#endif
b87700e3 482
7dc44138
MJ
483#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0))
484LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add,
485
486 TP_PROTO(const struct btrfs_inode *inode,
487 const struct btrfs_ordered_extent *ordered),
488
489 TP_ARGS(inode, ordered)
490)
491
492LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove,
493
494 TP_PROTO(const struct btrfs_inode *inode,
495 const struct btrfs_ordered_extent *ordered),
496
497 TP_ARGS(inode, ordered)
498)
499
500LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start,
501
502 TP_PROTO(const struct btrfs_inode *inode,
503 const struct btrfs_ordered_extent *ordered),
504
505 TP_ARGS(inode, ordered)
506)
507
508LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
509
510 TP_PROTO(const struct btrfs_inode *inode,
511 const struct btrfs_ordered_extent *ordered),
512
513 TP_ARGS(inode, ordered)
514)
515#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
0badc02f
MJ
516 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
517 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
518 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
7ca7cd6e 519 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1f1ec4ed
MJ
520LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add,
521
522 TP_PROTO(const struct inode *inode,
523 const struct btrfs_ordered_extent *ordered),
524
525 TP_ARGS(inode, ordered)
526)
527
528LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove,
529
530 TP_PROTO(const struct inode *inode,
531 const struct btrfs_ordered_extent *ordered),
532
533 TP_ARGS(inode, ordered)
534)
535
536LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start,
537
538 TP_PROTO(const struct inode *inode,
539 const struct btrfs_ordered_extent *ordered),
540
541 TP_ARGS(inode, ordered)
542)
543
544LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
545
546 TP_PROTO(const struct inode *inode,
547 const struct btrfs_ordered_extent *ordered),
548
549 TP_ARGS(inode, ordered)
550)
7dc44138
MJ
551#else
552LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add,
553
554 TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
555
556 TP_ARGS(inode, ordered)
557)
558
559LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove,
1f1ec4ed 560
7dc44138
MJ
561 TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
562
563 TP_ARGS(inode, ordered)
564)
565
566LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start,
567
568 TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
569
570 TP_ARGS(inode, ordered)
571)
572
573LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put,
574
575 TP_PROTO(struct inode *inode, struct btrfs_ordered_extent *ordered),
576
577 TP_ARGS(inode, ordered)
578)
579#endif
580
581#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
582 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
583 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
584 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
585 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1f1ec4ed
MJ
586LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage,
587
588 TP_PROTO(const struct page *page, const struct inode *inode,
589 const struct writeback_control *wbc),
590
591 TP_ARGS(page, inode, wbc),
592
593 TP_FIELDS(
594 ctf_integer(ino_t, ino, inode->i_ino)
595 ctf_integer(pgoff_t, index, page->index)
596 ctf_integer(long, nr_to_write, wbc->nr_to_write)
597 ctf_integer(long, pages_skipped, wbc->pages_skipped)
598 ctf_integer(loff_t, range_start, wbc->range_start)
599 ctf_integer(loff_t, range_end, wbc->range_end)
600 ctf_integer(char, for_kupdate, wbc->for_kupdate)
601 ctf_integer(char, for_reclaim, wbc->for_reclaim)
602 ctf_integer(char, range_cyclic, wbc->range_cyclic)
603 ctf_integer(pgoff_t, writeback_index,
604 inode->i_mapping->writeback_index)
605 ctf_integer(u64, root_objectid,
606 BTRFS_I(inode)->root->root_key.objectid)
607 )
608)
609
610LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs__writepage,
611
612 __extent_writepage,
613
614 btrfs__extent_writepage,
615
616 TP_PROTO(const struct page *page, const struct inode *inode,
617 const struct writeback_control *wbc),
618
619 TP_ARGS(page, inode, wbc)
620)
621
622LTTNG_TRACEPOINT_EVENT(btrfs_writepage_end_io_hook,
623
624 TP_PROTO(const struct page *page, u64 start, u64 end, int uptodate),
625
626 TP_ARGS(page, start, end, uptodate),
627
628 TP_FIELDS(
629 ctf_integer(ino_t, ino, page->mapping->host->i_ino)
630 ctf_integer(pgoff_t, index, page->index)
631 ctf_integer(u64, start, start)
632 ctf_integer(u64, end, end)
633 ctf_integer(int, uptodate, uptodate)
634 ctf_integer(u64, root_objectid,
635 BTRFS_I(page->mapping->host)->root->root_key.objectid)
636 )
637)
638
639LTTNG_TRACEPOINT_EVENT(btrfs_sync_file,
640
641 TP_PROTO(const struct file *file, int datasync),
642
643 TP_ARGS(file, datasync),
644
645 TP_FIELDS(
646 ctf_integer(ino_t, ino, file->f_path.dentry->d_inode->i_ino)
647 ctf_integer(ino_t, parent, file->f_path.dentry->d_parent->d_inode->i_ino)
648 ctf_integer(int, datasync, datasync)
649 ctf_integer(u64, root_objectid,
650 BTRFS_I(file->f_path.dentry->d_inode)->root->root_key.objectid)
651 )
652)
653#else
3bc29f0a 654LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage,
b87700e3
AG
655
656 TP_PROTO(struct page *page, struct inode *inode,
657 struct writeback_control *wbc),
658
659 TP_ARGS(page, inode, wbc),
660
f127e61e
MD
661 TP_FIELDS(
662 ctf_integer(ino_t, ino, inode->i_ino)
663 ctf_integer(pgoff_t, index, page->index)
664 ctf_integer(long, nr_to_write, wbc->nr_to_write)
665 ctf_integer(long, pages_skipped, wbc->pages_skipped)
666 ctf_integer(loff_t, range_start, wbc->range_start)
667 ctf_integer(loff_t, range_end, wbc->range_end)
b87700e3 668#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
f127e61e 669 ctf_integer(char, nonblocking, wbc->nonblocking)
b87700e3 670#endif
f127e61e
MD
671 ctf_integer(char, for_kupdate, wbc->for_kupdate)
672 ctf_integer(char, for_reclaim, wbc->for_reclaim)
673 ctf_integer(char, range_cyclic, wbc->range_cyclic)
674 ctf_integer(pgoff_t, writeback_index,
675 inode->i_mapping->writeback_index)
676 ctf_integer(u64, root_objectid,
677 BTRFS_I(inode)->root->root_key.objectid)
678 )
b87700e3
AG
679)
680
9bbf98da
MD
681LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs__writepage,
682
683 __extent_writepage,
684
685 btrfs__extent_writepage,
b87700e3
AG
686
687 TP_PROTO(struct page *page, struct inode *inode,
688 struct writeback_control *wbc),
689
690 TP_ARGS(page, inode, wbc)
691)
692
3bc29f0a 693LTTNG_TRACEPOINT_EVENT(btrfs_writepage_end_io_hook,
b87700e3
AG
694
695 TP_PROTO(struct page *page, u64 start, u64 end, int uptodate),
696
697 TP_ARGS(page, start, end, uptodate),
698
f127e61e
MD
699 TP_FIELDS(
700 ctf_integer(ino_t, ino, page->mapping->host->i_ino)
701 ctf_integer(pgoff_t, index, page->index)
702 ctf_integer(u64, start, start)
703 ctf_integer(u64, end, end)
704 ctf_integer(int, uptodate, uptodate)
705 ctf_integer(u64, root_objectid,
706 BTRFS_I(page->mapping->host)->root->root_key.objectid)
707 )
b87700e3
AG
708)
709
3bc29f0a 710LTTNG_TRACEPOINT_EVENT(btrfs_sync_file,
b87700e3
AG
711
712 TP_PROTO(struct file *file, int datasync),
713
714 TP_ARGS(file, datasync),
715
f127e61e
MD
716 TP_FIELDS(
717 ctf_integer(ino_t, ino, file->f_path.dentry->d_inode->i_ino)
718 ctf_integer(ino_t, parent, file->f_path.dentry->d_parent->d_inode->i_ino)
719 ctf_integer(int, datasync, datasync)
720 ctf_integer(u64, root_objectid,
b87700e3 721 BTRFS_I(file->f_path.dentry->d_inode)->root->root_key.objectid)
f127e61e 722 )
b87700e3 723)
1f1ec4ed 724#endif
b87700e3 725
7ca7cd6e 726#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
0badc02f
MJ
727 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
728 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
729 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
730 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
731 LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
732 LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
733 LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
1f1ec4ed
MJ
734LTTNG_TRACEPOINT_EVENT(btrfs_sync_fs,
735
736 TP_PROTO(const struct btrfs_fs_info *fs_info, int wait),
737
738 TP_ARGS(fs_info, wait),
739
740 TP_FIELDS(
741 ctf_integer(int, wait, wait)
742 )
743)
744#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
fcd0a11c
MD
745LTTNG_TRACEPOINT_EVENT(btrfs_sync_fs,
746
747 TP_PROTO(struct btrfs_fs_info *fs_info, int wait),
748
749 TP_ARGS(fs_info, wait),
750
751 TP_FIELDS(
752 ctf_integer(int, wait, wait)
753 )
754)
755#else
3bc29f0a 756LTTNG_TRACEPOINT_EVENT(btrfs_sync_fs,
b87700e3
AG
757
758 TP_PROTO(int wait),
759
760 TP_ARGS(wait),
761
f127e61e
MD
762 TP_FIELDS(
763 ctf_integer(int, wait, wait)
764 )
b87700e3 765)
fcd0a11c
MD
766#endif
767
5809d816
MJ
768#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
769LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
770
771 TP_PROTO(const struct btrfs_fs_info *fs_info,
772 const struct btrfs_block_group *block_group, int create),
773
774 TP_ARGS(fs_info, block_group, create),
775
776 TP_FIELDS(
777 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
778 ctf_integer(u64, offset, block_group->start)
779 ctf_integer(u64, size, block_group->length)
780 ctf_integer(u64, flags, block_group->flags)
781 ctf_integer(u64, bytes_used, block_group->used)
782 ctf_integer(u64, bytes_super, block_group->bytes_super)
783 ctf_integer(int, create, create)
784 )
785)
786#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
0badc02f
MJ
787 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
788 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
789 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
7ca7cd6e 790 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1f1ec4ed
MJ
791LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
792
793 TP_PROTO(const struct btrfs_fs_info *fs_info,
794 const struct btrfs_block_group_cache *block_group, int create),
795
796 TP_ARGS(fs_info, block_group, create),
797
798 TP_FIELDS(
9d2f1147 799 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
1f1ec4ed
MJ
800 ctf_integer(u64, offset, block_group->key.objectid)
801 ctf_integer(u64, size, block_group->key.offset)
802 ctf_integer(u64, flags, block_group->flags)
803 ctf_integer(u64, bytes_used, btrfs_block_group_used(&block_group->item))
804 ctf_integer(u64, bytes_super, block_group->bytes_super)
805 ctf_integer(int, create, create)
806 )
807)
808#else
fcd0a11c 809LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group,
b87700e3 810
fcd0a11c
MD
811 TP_PROTO(struct btrfs_fs_info *fs_info,
812 struct btrfs_block_group_cache *block_group, int create),
813
814 TP_ARGS(fs_info, block_group, create),
815
816 TP_FIELDS(
9d2f1147 817 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
fcd0a11c
MD
818 ctf_integer(u64, offset, block_group->key.objectid)
819 ctf_integer(u64, size, block_group->key.offset)
820 ctf_integer(u64, flags, block_group->flags)
821 ctf_integer(u64, bytes_used, btrfs_block_group_used(&block_group->item))
822 ctf_integer(u64, bytes_super, block_group->bytes_super)
823 ctf_integer(int, create, create)
824 )
825)
1f1ec4ed 826#endif
fcd0a11c 827
0badc02f
MJ
828#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
829 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
830 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
831 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
832 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
833 LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
834 LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
835 LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
fde8b34a 836LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref,
1f1ec4ed
MJ
837
838 TP_PROTO(const struct btrfs_fs_info *fs_info,
839 const struct btrfs_delayed_ref_node *ref,
840 const struct btrfs_delayed_tree_ref *full_ref,
841 int action),
842
843 TP_ARGS(fs_info, ref, full_ref, action),
844
845 TP_FIELDS(
9d2f1147 846 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
1f1ec4ed
MJ
847 ctf_integer(u64, bytenr, ref->bytenr)
848 ctf_integer(u64, num_bytes, ref->num_bytes)
849 ctf_integer(int, action, action)
850 ctf_integer(u64, parent, full_ref->parent)
851 ctf_integer(u64, ref_root, full_ref->root)
852 ctf_integer(int, level, full_ref->level)
853 ctf_integer(int, type, ref->type)
854 ctf_integer(u64, seq, ref->seq)
855 )
856)
fde8b34a 857
426eff93
MD
858LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
859
860 add_delayed_tree_ref,
861
862 btrfs_add_delayed_tree_ref,
fde8b34a
MJ
863
864 TP_PROTO(const struct btrfs_fs_info *fs_info,
865 const struct btrfs_delayed_ref_node *ref,
866 const struct btrfs_delayed_tree_ref *full_ref,
867 int action),
868
869 TP_ARGS(fs_info, ref, full_ref, action)
870)
871
426eff93
MD
872LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
873
874 run_delayed_tree_ref,
875
876 btrfs_run_delayed_tree_ref,
fde8b34a
MJ
877
878 TP_PROTO(const struct btrfs_fs_info *fs_info,
879 const struct btrfs_delayed_ref_node *ref,
880 const struct btrfs_delayed_tree_ref *full_ref,
881 int action),
882
883 TP_ARGS(fs_info, ref, full_ref, action)
884)
1f1ec4ed 885#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
fde8b34a 886LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref,
fcd0a11c
MD
887
888 TP_PROTO(struct btrfs_fs_info *fs_info,
889 struct btrfs_delayed_ref_node *ref,
890 struct btrfs_delayed_tree_ref *full_ref,
891 int action),
892
893 TP_ARGS(fs_info, ref, full_ref, action),
894
895 TP_FIELDS(
9d2f1147 896 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
fcd0a11c
MD
897 ctf_integer(u64, bytenr, ref->bytenr)
898 ctf_integer(u64, num_bytes, ref->num_bytes)
899 ctf_integer(int, action, action)
900 ctf_integer(u64, parent, full_ref->parent)
901 ctf_integer(u64, ref_root, full_ref->root)
902 ctf_integer(int, level, full_ref->level)
903 ctf_integer(int, type, ref->type)
904 ctf_integer(u64, seq, ref->seq)
905 )
906)
fde8b34a 907
426eff93
MD
908LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
909
910 add_delayed_tree_ref,
911
912 btrfs_add_delayed_tree_ref,
fde8b34a
MJ
913
914 TP_PROTO(struct btrfs_fs_info *fs_info,
915 struct btrfs_delayed_ref_node *ref,
916 struct btrfs_delayed_tree_ref *full_ref,
917 int action),
918
919 TP_ARGS(fs_info, ref, full_ref, action)
920)
921
426eff93
MD
922LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
923
924 run_delayed_tree_ref,
925
926 btrfs_run_delayed_tree_ref,
fde8b34a
MJ
927
928 TP_PROTO(struct btrfs_fs_info *fs_info,
929 struct btrfs_delayed_ref_node *ref,
930 struct btrfs_delayed_tree_ref *full_ref,
931 int action),
932
933 TP_ARGS(fs_info, ref, full_ref, action)
934)
0badc02f
MJ
935#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,92,0,0, 4,5,0,0,0,0))
936LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref,
937
938 TP_PROTO(const struct btrfs_delayed_ref_node *ref,
939 const struct btrfs_delayed_tree_ref *full_ref,
940 int action),
941
942 TP_ARGS(ref, full_ref, action),
943
944 TP_FIELDS(
945 ctf_integer(u64, bytenr, ref->bytenr)
946 ctf_integer(u64, num_bytes, ref->num_bytes)
947 ctf_integer(int, action, action)
948 ctf_integer(u64, parent, full_ref->parent)
949 ctf_integer(u64, ref_root, full_ref->root)
950 ctf_integer(int, level, full_ref->level)
951 ctf_integer(int, type, ref->type)
952 ctf_integer(u64, seq, ref->seq)
953 )
954)
955
426eff93
MD
956LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
957
958 add_delayed_tree_ref,
959
960 btrfs_add_delayed_tree_ref,
0badc02f
MJ
961
962 TP_PROTO(const struct btrfs_delayed_ref_node *ref,
963 const struct btrfs_delayed_tree_ref *full_ref,
964 int action),
965
966 TP_ARGS(ref, full_ref, action)
967)
968
426eff93
MD
969LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
970
971 run_delayed_tree_ref,
972
973 btrfs_run_delayed_tree_ref,
0badc02f
MJ
974
975 TP_PROTO(const struct btrfs_delayed_ref_node *ref,
976 const struct btrfs_delayed_tree_ref *full_ref,
977 int action),
978
979 TP_ARGS(ref, full_ref, action)
980)
fde8b34a
MJ
981#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
982LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref,
983
984 TP_PROTO(struct btrfs_delayed_ref_node *ref,
985 struct btrfs_delayed_tree_ref *full_ref,
986 int action),
987
988 TP_ARGS(ref, full_ref, action),
989
990 TP_FIELDS(
991 ctf_integer(u64, bytenr, ref->bytenr)
992 ctf_integer(u64, num_bytes, ref->num_bytes)
993 ctf_integer(int, action, action)
994 ctf_integer(u64, parent, full_ref->parent)
995 ctf_integer(u64, ref_root, full_ref->root)
996 ctf_integer(int, level, full_ref->level)
997 ctf_integer(int, type, ref->type)
998 ctf_integer(u64, seq, ref->seq)
999 )
1000)
1001
426eff93
MD
1002LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
1003
1004 add_delayed_tree_ref,
1005
1006 btrfs_add_delayed_tree_ref,
fde8b34a
MJ
1007
1008 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1009 struct btrfs_delayed_tree_ref *full_ref,
1010 int action),
1011
1012 TP_ARGS(ref, full_ref, action)
1013)
1014
426eff93
MD
1015LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref,
1016
1017 run_delayed_tree_ref,
1018
1019 btrfs_run_delayed_tree_ref,
fde8b34a
MJ
1020
1021 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1022 struct btrfs_delayed_tree_ref *full_ref,
1023 int action),
1024
1025 TP_ARGS(ref, full_ref, action)
1026)
1027#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0))
3bc29f0a 1028LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
b87700e3
AG
1029
1030 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1031 struct btrfs_delayed_tree_ref *full_ref,
1032 int action),
1033
1034 TP_ARGS(ref, full_ref, action),
1035
f127e61e
MD
1036 TP_FIELDS(
1037 ctf_integer(u64, bytenr, ref->bytenr)
1038 ctf_integer(u64, num_bytes, ref->num_bytes)
1039 ctf_integer(int, action, action)
1040 ctf_integer(u64, parent, full_ref->parent)
1041 ctf_integer(u64, ref_root, full_ref->root)
1042 ctf_integer(int, level, full_ref->level)
1043 ctf_integer(int, type, ref->type)
f127e61e 1044 ctf_integer(u64, seq, ref->seq)
fde8b34a
MJ
1045 )
1046)
1047#else
1048LTTNG_TRACEPOINT_EVENT(btrfs_delayed_tree_ref,
1049
1050 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1051 struct btrfs_delayed_tree_ref *full_ref,
1052 int action),
1053
1054 TP_ARGS(ref, full_ref, action),
1055
1056 TP_FIELDS(
1057 ctf_integer(u64, bytenr, ref->bytenr)
1058 ctf_integer(u64, num_bytes, ref->num_bytes)
1059 ctf_integer(int, action, action)
1060 ctf_integer(u64, parent, full_ref->parent)
1061 ctf_integer(u64, ref_root, full_ref->root)
1062 ctf_integer(int, level, full_ref->level)
1063 ctf_integer(int, type, ref->type)
f127e61e 1064 )
b87700e3 1065)
fcd0a11c 1066#endif
b87700e3 1067
0badc02f
MJ
1068#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
1069 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1070 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1071 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1072 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
1073 LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
1074 LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
1075 LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
fde8b34a
MJ
1076LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref,
1077
1078 TP_PROTO(const struct btrfs_fs_info *fs_info,
1079 const struct btrfs_delayed_ref_node *ref,
1080 const struct btrfs_delayed_data_ref *full_ref,
1081 int action),
1082
1083 TP_ARGS(fs_info, ref, full_ref, action),
1084
1085 TP_FIELDS(
9d2f1147 1086 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
fde8b34a
MJ
1087 ctf_integer(u64, bytenr, ref->bytenr)
1088 ctf_integer(u64, num_bytes, ref->num_bytes)
1089 ctf_integer(int, action, action)
1090 ctf_integer(u64, parent, full_ref->parent)
1091 ctf_integer(u64, ref_root, full_ref->root)
1092 ctf_integer(u64, owner, full_ref->objectid)
1093 ctf_integer(u64, offset, full_ref->offset)
1094 ctf_integer(int, type, ref->type)
1095 ctf_integer(u64, seq, ref->seq)
1096 )
1097)
1098
426eff93
MD
1099LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
1100
1101 add_delayed_data_ref,
1102
1103 btrfs_add_delayed_data_ref,
fde8b34a
MJ
1104
1105 TP_PROTO(const struct btrfs_fs_info *fs_info,
1106 const struct btrfs_delayed_ref_node *ref,
1107 const struct btrfs_delayed_data_ref *full_ref,
1108 int action),
1109
1110 TP_ARGS(fs_info, ref, full_ref, action)
1111)
1112
426eff93
MD
1113LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
1114
1115 run_delayed_data_ref,
1116
1117 btrfs_run_delayed_data_ref,
fde8b34a
MJ
1118
1119 TP_PROTO(const struct btrfs_fs_info *fs_info,
1120 const struct btrfs_delayed_ref_node *ref,
1121 const struct btrfs_delayed_data_ref *full_ref,
1122 int action),
1123
1124 TP_ARGS(fs_info, ref, full_ref, action)
1125)
1126#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
1127LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref,
1128
1129 TP_PROTO(struct btrfs_fs_info *fs_info,
1130 struct btrfs_delayed_ref_node *ref,
1131 struct btrfs_delayed_data_ref *full_ref,
1132 int action),
1133
1134 TP_ARGS(fs_info, ref, full_ref, action),
1135
1136 TP_FIELDS(
9d2f1147 1137 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
fde8b34a
MJ
1138 ctf_integer(u64, bytenr, ref->bytenr)
1139 ctf_integer(u64, num_bytes, ref->num_bytes)
1140 ctf_integer(int, action, action)
1141 ctf_integer(u64, parent, full_ref->parent)
1142 ctf_integer(u64, ref_root, full_ref->root)
1143 ctf_integer(u64, owner, full_ref->objectid)
1144 ctf_integer(u64, offset, full_ref->offset)
1145 ctf_integer(int, type, ref->type)
1146 ctf_integer(u64, seq, ref->seq)
1147 )
1148)
1149
426eff93
MD
1150LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
1151
1152 add_delayed_data_ref,
1153
1154 btrfs_add_delayed_data_ref,
fde8b34a
MJ
1155
1156 TP_PROTO(struct btrfs_fs_info *fs_info,
1157 struct btrfs_delayed_ref_node *ref,
1158 struct btrfs_delayed_data_ref *full_ref,
1159 int action),
1160
1161 TP_ARGS(fs_info, ref, full_ref, action)
1162)
1163
426eff93
MD
1164LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
1165
1166 run_delayed_data_ref,
1167
1168 btrfs_run_delayed_data_ref,
fde8b34a
MJ
1169
1170 TP_PROTO(struct btrfs_fs_info *fs_info,
1171 struct btrfs_delayed_ref_node *ref,
1172 struct btrfs_delayed_data_ref *full_ref,
1173 int action),
1174
1175 TP_ARGS(fs_info, ref, full_ref, action)
1176)
0badc02f
MJ
1177#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,92,0,0, 4,5,0,0,0,0))
1178LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref,
1179
1180 TP_PROTO(const struct btrfs_delayed_ref_node *ref,
1181 const struct btrfs_delayed_data_ref *full_ref,
1182 int action),
1183
1184 TP_ARGS(ref, full_ref, action),
1185
1186 TP_FIELDS(
1187 ctf_integer(u64, bytenr, ref->bytenr)
1188 ctf_integer(u64, num_bytes, ref->num_bytes)
1189 ctf_integer(int, action, action)
1190 ctf_integer(u64, parent, full_ref->parent)
1191 ctf_integer(u64, ref_root, full_ref->root)
1192 ctf_integer(u64, owner, full_ref->objectid)
1193 ctf_integer(u64, offset, full_ref->offset)
1194 ctf_integer(int, type, ref->type)
1195 ctf_integer(u64, seq, ref->seq)
1196 )
1197)
1198
426eff93
MD
1199LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
1200
1201 add_delayed_data_ref,
1202
1203 btrfs_add_delayed_data_ref,
0badc02f
MJ
1204
1205 TP_PROTO(const struct btrfs_delayed_ref_node *ref,
1206 const struct btrfs_delayed_data_ref *full_ref,
1207 int action),
1208
1209 TP_ARGS(fs_info, ref, full_ref, action)
1210)
1211
426eff93
MD
1212LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
1213
1214 run_delayed_data_ref,
1215
1216 btrfs_run_delayed_data_ref,
0badc02f
MJ
1217
1218 TP_PROTO(const struct btrfs_delayed_ref_node *ref,
1219 const struct btrfs_delayed_data_ref *full_ref,
1220 int action),
1221
1222 TP_ARGS(fs_info, ref, full_ref, action)
1223)
fde8b34a
MJ
1224#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
1225LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref,
1226
1227 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1228 struct btrfs_delayed_data_ref *full_ref,
1229 int action),
1230
1231 TP_ARGS(ref, full_ref, action),
1232
1233 TP_FIELDS(
1234 ctf_integer(u64, bytenr, ref->bytenr)
1235 ctf_integer(u64, num_bytes, ref->num_bytes)
1236 ctf_integer(int, action, action)
1237 ctf_integer(u64, parent, full_ref->parent)
1238 ctf_integer(u64, ref_root, full_ref->root)
1239 ctf_integer(u64, owner, full_ref->objectid)
1240 ctf_integer(u64, offset, full_ref->offset)
1241 ctf_integer(int, type, ref->type)
1242 ctf_integer(u64, seq, ref->seq)
1243 )
1244)
1245
426eff93
MD
1246LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
1247
1248 add_delayed_data_ref,
1249
1250 btrfs_add_delayed_data_ref,
fde8b34a
MJ
1251
1252 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1253 struct btrfs_delayed_data_ref *full_ref,
1254 int action),
1255
1256 TP_ARGS(fs_info, ref, full_ref, action)
1257)
1258
426eff93
MD
1259LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref,
1260
1261 run_delayed_data_ref,
1262
1263 btrfs_run_delayed_data_ref,
fde8b34a
MJ
1264
1265 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1266 struct btrfs_delayed_data_ref *full_ref,
1267 int action),
1268
1269 TP_ARGS(fs_info, ref, full_ref, action)
1270)
1271#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0))
3bc29f0a 1272LTTNG_TRACEPOINT_EVENT(btrfs_delayed_data_ref,
b87700e3
AG
1273
1274 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1275 struct btrfs_delayed_data_ref *full_ref,
1276 int action),
1277
1278 TP_ARGS(ref, full_ref, action),
1279
f127e61e
MD
1280 TP_FIELDS(
1281 ctf_integer(u64, bytenr, ref->bytenr)
1282 ctf_integer(u64, num_bytes, ref->num_bytes)
1283 ctf_integer(int, action, action)
1284 ctf_integer(u64, parent, full_ref->parent)
1285 ctf_integer(u64, ref_root, full_ref->root)
1286 ctf_integer(u64, owner, full_ref->objectid)
1287 ctf_integer(u64, offset, full_ref->offset)
1288 ctf_integer(int, type, ref->type)
f127e61e 1289 ctf_integer(u64, seq, ref->seq)
f127e61e 1290 )
b87700e3 1291)
fde8b34a
MJ
1292#else
1293LTTNG_TRACEPOINT_EVENT(btrfs_delayed_data_ref,
1294
1295 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1296 struct btrfs_delayed_data_ref *full_ref,
1297 int action),
1298
1299 TP_ARGS(ref, full_ref, action),
1300
1301 TP_FIELDS(
1302 ctf_integer(u64, bytenr, ref->bytenr)
1303 ctf_integer(u64, num_bytes, ref->num_bytes)
1304 ctf_integer(int, action, action)
1305 ctf_integer(u64, parent, full_ref->parent)
1306 ctf_integer(u64, ref_root, full_ref->root)
1307 ctf_integer(u64, owner, full_ref->objectid)
1308 ctf_integer(u64, offset, full_ref->offset)
1309 ctf_integer(int, type, ref->type)
1310 )
1311)
1312#endif
b87700e3 1313
ab9ebe67
MJ
1314#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0))
1315LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
1316
1317 TP_PROTO(const struct btrfs_fs_info *fs_info,
1318 const struct btrfs_delayed_ref_head *head_ref,
1319 int action),
1320
1321 TP_ARGS(fs_info, head_ref, action),
1322
1323 TP_FIELDS(
1324 ctf_integer(u64, bytenr, head_ref->bytenr)
1325 ctf_integer(u64, num_bytes, head_ref->num_bytes)
1326 ctf_integer(int, action, action)
1327 ctf_integer(int, is_data, head_ref->is_data)
1328 )
1329)
1330
d7921a5f
MD
1331LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
1332
1333 add_delayed_ref_head,
1334
1335 btrfs_add_delayed_ref_head,
ab9ebe67
MJ
1336
1337 TP_PROTO(const struct btrfs_fs_info *fs_info,
1338 const struct btrfs_delayed_ref_head *head_ref,
1339 int action),
1340
1341 TP_ARGS(fs_info, head_ref, action)
1342)
1343
d7921a5f
MD
1344LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
1345
1346 run_delayed_ref_head,
1347
1348 btrfs_run_delayed_ref_head,
ab9ebe67
MJ
1349
1350 TP_PROTO(const struct btrfs_fs_info *fs_info,
1351 const struct btrfs_delayed_ref_head *head_ref,
1352 int action),
1353
1354 TP_ARGS(fs_info, head_ref, action)
1355)
1356
7ca7cd6e 1357#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
0badc02f
MJ
1358 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1359 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1360 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1361 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
1362 LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
1363 LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
1364 LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
1365
ab9ebe67
MJ
1366LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
1367
1368 TP_PROTO(const struct btrfs_fs_info *fs_info,
1369 const struct btrfs_delayed_ref_node *ref,
1370 const struct btrfs_delayed_ref_head *head_ref,
1371 int action),
1372
1373 TP_ARGS(fs_info, ref, head_ref, action),
1374
1375 TP_FIELDS(
1376 ctf_integer(u64, bytenr, ref->bytenr)
1377 ctf_integer(u64, num_bytes, ref->num_bytes)
1378 ctf_integer(int, action, action)
1379 ctf_integer(int, is_data, head_ref->is_data)
1380 )
1381)
1382
d7921a5f
MD
1383LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
1384
1385 add_delayed_ref_head,
1386
1387 btrfs_add_delayed_ref_head,
ab9ebe67
MJ
1388
1389 TP_PROTO(const struct btrfs_fs_info *fs_info,
1390 const struct btrfs_delayed_ref_node *ref,
1391 const struct btrfs_delayed_ref_head *head_ref,
1392 int action),
1393
1394 TP_ARGS(fs_info, ref, head_ref, action)
1395)
1396
d7921a5f
MD
1397LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
1398
1399 run_delayed_ref_head,
1400
1401 btrfs_run_delayed_ref_head,
ab9ebe67
MJ
1402
1403 TP_PROTO(const struct btrfs_fs_info *fs_info,
1404 const struct btrfs_delayed_ref_node *ref,
1405 const struct btrfs_delayed_ref_head *head_ref,
1406 int action),
1407
1408 TP_ARGS(fs_info, ref, head_ref, action)
1409)
1410
1411#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
1412LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
fcd0a11c
MD
1413
1414 TP_PROTO(struct btrfs_fs_info *fs_info,
1415 struct btrfs_delayed_ref_node *ref,
1416 struct btrfs_delayed_ref_head *head_ref,
1417 int action),
1418
1419 TP_ARGS(fs_info, ref, head_ref, action),
1420
1421 TP_FIELDS(
1422 ctf_integer(u64, bytenr, ref->bytenr)
1423 ctf_integer(u64, num_bytes, ref->num_bytes)
1424 ctf_integer(int, action, action)
1425 ctf_integer(int, is_data, head_ref->is_data)
1426 )
1427)
1428
d7921a5f
MD
1429LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
1430
1431 add_delayed_ref_head,
1432
1433 btrfs_add_delayed_ref_head,
ab9ebe67
MJ
1434
1435 TP_PROTO(struct btrfs_fs_info *fs_info,
1436 struct btrfs_delayed_ref_node *ref,
1437 struct btrfs_delayed_ref_head *head_ref,
1438 int action),
1439
1440 TP_ARGS(fs_info, ref, head_ref, action)
1441)
1442
d7921a5f
MD
1443LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
1444
1445 run_delayed_ref_head,
1446
1447 btrfs_run_delayed_ref_head,
ab9ebe67
MJ
1448
1449 TP_PROTO(struct btrfs_fs_info *fs_info,
1450 struct btrfs_delayed_ref_node *ref,
1451 struct btrfs_delayed_ref_head *head_ref,
1452 int action),
1453
1454 TP_ARGS(fs_info, ref, head_ref, action)
1455)
1456
0badc02f 1457#elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,92,0,0, 4,5,0,0,0,0))
0b3f6dcb
MJ
1458LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
1459
1460 TP_PROTO(const struct btrfs_delayed_ref_node *ref,
1461 const struct btrfs_delayed_ref_head *head_ref,
1462 int action),
1463
1464 TP_ARGS(ref, head_ref, action),
1465
1466 TP_FIELDS(
1467 ctf_integer(u64, bytenr, ref->bytenr)
1468 ctf_integer(u64, num_bytes, ref->num_bytes)
1469 ctf_integer(int, action, action)
1470 ctf_integer(int, is_data, head_ref->is_data)
1471 )
1472)
1473
d7921a5f
MD
1474LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
1475
1476 add_delayed_ref_head,
1477
1478 btrfs_add_delayed_ref_head,
0b3f6dcb
MJ
1479
1480 TP_PROTO(const struct btrfs_delayed_ref_node *ref,
1481 const struct btrfs_delayed_ref_head *head_ref,
1482 int action),
1483
1484 TP_ARGS(ref, head_ref, action)
1485)
1486
d7921a5f
MD
1487LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
1488
1489 run_delayed_ref_head,
1490
1491 btrfs_run_delayed_ref_head,
0b3f6dcb
MJ
1492
1493 TP_PROTO(const struct btrfs_delayed_ref_node *ref,
1494 const struct btrfs_delayed_ref_head *head_ref,
1495 int action),
1496
1497 TP_ARGS(ref, head_ref, action)
1498)
1499
ab9ebe67
MJ
1500#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
1501LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head,
1502
1503 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1504 struct btrfs_delayed_ref_head *head_ref,
1505 int action),
1506
1507 TP_ARGS(ref, head_ref, action),
1508
1509 TP_FIELDS(
1510 ctf_integer(u64, bytenr, ref->bytenr)
1511 ctf_integer(u64, num_bytes, ref->num_bytes)
1512 ctf_integer(int, action, action)
1513 ctf_integer(int, is_data, head_ref->is_data)
1514 )
1515)
1516
d7921a5f
MD
1517LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
1518
1519 add_delayed_ref_head,
1520
1521 btrfs_add_delayed_ref_head,
ab9ebe67
MJ
1522
1523 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1524 struct btrfs_delayed_ref_head *head_ref,
1525 int action),
1526
1527 TP_ARGS(ref, head_ref, action)
1528)
1529
d7921a5f
MD
1530LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head,
1531
1532 run_delayed_ref_head,
1533
1534 btrfs_run_delayed_ref_head,
ab9ebe67
MJ
1535
1536 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1537 struct btrfs_delayed_ref_head *head_ref,
1538 int action),
1539
1540 TP_ARGS(ref, head_ref, action)
1541)
1542
fcd0a11c 1543#else
3bc29f0a 1544LTTNG_TRACEPOINT_EVENT(btrfs_delayed_ref_head,
b87700e3
AG
1545
1546 TP_PROTO(struct btrfs_delayed_ref_node *ref,
1547 struct btrfs_delayed_ref_head *head_ref,
1548 int action),
1549
1550 TP_ARGS(ref, head_ref, action),
1551
f127e61e
MD
1552 TP_FIELDS(
1553 ctf_integer(u64, bytenr, ref->bytenr)
1554 ctf_integer(u64, num_bytes, ref->num_bytes)
1555 ctf_integer(int, action, action)
1556 ctf_integer(int, is_data, head_ref->is_data)
1557 )
b87700e3 1558)
fcd0a11c 1559#endif
b87700e3 1560
1f1ec4ed
MJ
1561#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
1562
1563LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
1564
1565 TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
1566 u64 offset, u64 size),
1567
1568 TP_ARGS(fs_info, map, offset, size),
1569
1570 TP_FIELDS(
1571 ctf_integer(int, num_stripes, map->num_stripes)
1572 ctf_integer(u64, type, map->type)
1573 ctf_integer(int, sub_stripes, map->sub_stripes)
1574 ctf_integer(u64, offset, offset)
1575 ctf_integer(u64, size, size)
1576 ctf_integer(u64, root_objectid, fs_info->chunk_root->root_key.objectid)
1577 )
1578)
1579
1580LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc,
1581
9d2f1147 1582 TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
1f1ec4ed
MJ
1583 u64 offset, u64 size),
1584
9d2f1147 1585 TP_ARGS(fs_info, map, offset, size)
1f1ec4ed
MJ
1586)
1587
1588LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free,
1589
9d2f1147 1590 TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map,
1f1ec4ed
MJ
1591 u64 offset, u64 size),
1592
9d2f1147 1593 TP_ARGS(fs_info, map, offset, size)
1f1ec4ed
MJ
1594)
1595
1596#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
ff8bdcc2
MD
1597
1598LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
1599
1600 TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
1601 u64 offset, u64 size),
1602
1603 TP_ARGS(fs_info, map, offset, size),
1604
1605 TP_FIELDS(
1606 ctf_integer(int, num_stripes, map->num_stripes)
1607 ctf_integer(u64, type, map->type)
1608 ctf_integer(int, sub_stripes, map->sub_stripes)
1609 ctf_integer(u64, offset, offset)
1610 ctf_integer(u64, size, size)
1611 ctf_integer(u64, root_objectid, fs_info->chunk_root->root_key.objectid)
1612 )
1613)
1614
1615LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc,
1616
9d2f1147 1617 TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
ff8bdcc2
MD
1618 u64 offset, u64 size),
1619
9d2f1147 1620 TP_ARGS(fs_info, map, offset, size)
ff8bdcc2
MD
1621)
1622
1623LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free,
1624
9d2f1147 1625 TP_PROTO(struct btrfs_fs_info *fs_info, struct map_lookup *map,
ff8bdcc2
MD
1626 u64 offset, u64 size),
1627
9d2f1147 1628 TP_ARGS(fs_info, map, offset, size)
ff8bdcc2
MD
1629)
1630
0badc02f
MJ
1631#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1632 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1633 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1634 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
7ca7cd6e
MJ
1635
1636LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
1637
1638 TP_PROTO(const struct btrfs_root *root, const struct map_lookup *map,
1639 u64 offset, u64 size),
1640
1641 TP_ARGS(root, map, offset, size),
1642
1643 TP_FIELDS(
1644 ctf_integer(int, num_stripes, map->num_stripes)
1645 ctf_integer(u64, type, map->type)
1646 ctf_integer(int, sub_stripes, map->sub_stripes)
1647 ctf_integer(u64, offset, offset)
1648 ctf_integer(u64, size, size)
1649 ctf_integer(u64, root_objectid, root->root_key.objectid)
1650 )
1651)
1652
1653LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc,
1654
1655 TP_PROTO(const struct btrfs_root *root, const struct map_lookup *map,
1656 u64 offset, u64 size),
1657
1658 TP_ARGS(root, map, offset, size)
1659)
1660
1661LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free,
1662
1663 TP_PROTO(const struct btrfs_root *root, const struct map_lookup *map,
1664 u64 offset, u64 size),
1665
1666 TP_ARGS(root, map, offset, size)
1667)
1668
ff8bdcc2
MD
1669#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
1670
3bc29f0a 1671LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk,
b87700e3
AG
1672
1673 TP_PROTO(struct btrfs_root *root, struct map_lookup *map,
1674 u64 offset, u64 size),
1675
1676 TP_ARGS(root, map, offset, size),
1677
f127e61e
MD
1678 TP_FIELDS(
1679 ctf_integer(int, num_stripes, map->num_stripes)
1680 ctf_integer(u64, type, map->type)
1681 ctf_integer(int, sub_stripes, map->sub_stripes)
1682 ctf_integer(u64, offset, offset)
1683 ctf_integer(u64, size, size)
1684 ctf_integer(u64, root_objectid, root->root_key.objectid)
1685 )
b87700e3
AG
1686)
1687
3bc29f0a 1688LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc,
b87700e3
AG
1689
1690 TP_PROTO(struct btrfs_root *root, struct map_lookup *map,
1691 u64 offset, u64 size),
1692
1693 TP_ARGS(root, map, offset, size)
1694)
1695
3bc29f0a 1696LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free,
b87700e3
AG
1697
1698 TP_PROTO(struct btrfs_root *root, struct map_lookup *map,
1699 u64 offset, u64 size),
1700
1701 TP_ARGS(root, map, offset, size)
1702)
1703
ff8bdcc2
MD
1704#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
1705
7ca7cd6e 1706#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
0badc02f
MJ
1707 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1708 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1709 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
7ca7cd6e 1710 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1f1ec4ed
MJ
1711LTTNG_TRACEPOINT_EVENT(btrfs_cow_block,
1712
1713 TP_PROTO(const struct btrfs_root *root, const struct extent_buffer *buf,
1714 const struct extent_buffer *cow),
1715
1716 TP_ARGS(root, buf, cow),
1717
1718 TP_FIELDS(
1719 ctf_integer(u64, root_objectid, root->root_key.objectid)
1720 ctf_integer(u64, buf_start, buf->start)
1721 ctf_integer(int, refs, atomic_read(&buf->refs))
1722 ctf_integer(u64, cow_start, cow->start)
1723 ctf_integer(int, buf_level, btrfs_header_level(buf))
1724 ctf_integer(int, cow_level, btrfs_header_level(cow))
1725 )
1726)
1727#else
3bc29f0a 1728LTTNG_TRACEPOINT_EVENT(btrfs_cow_block,
b87700e3
AG
1729
1730 TP_PROTO(struct btrfs_root *root, struct extent_buffer *buf,
1731 struct extent_buffer *cow),
1732
1733 TP_ARGS(root, buf, cow),
1734
f127e61e
MD
1735 TP_FIELDS(
1736 ctf_integer(u64, root_objectid, root->root_key.objectid)
1737 ctf_integer(u64, buf_start, buf->start)
1738 ctf_integer(int, refs, atomic_read(&buf->refs))
1739 ctf_integer(u64, cow_start, cow->start)
1740 ctf_integer(int, buf_level, btrfs_header_level(buf))
1741 ctf_integer(int, cow_level, btrfs_header_level(cow))
1742 )
b87700e3 1743)
1f1ec4ed 1744#endif
b87700e3 1745
ae5af8ea
MJ
1746#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
1747LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
1748
1749 TP_PROTO(const struct btrfs_fs_info *fs_info, const char *type, u64 val,
1750 u64 bytes, int reserve),
1751
1752 TP_ARGS(fs_info, type, val, bytes, reserve),
1753
1754 TP_FIELDS(
1755 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
1756 ctf_string(type, type)
1757 ctf_integer(u64, val, val)
1758 ctf_integer(u64, bytes, bytes)
1759 ctf_integer(int, reserve, reserve)
1760 )
1761)
1762#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
0badc02f
MJ
1763 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1764 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1765 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
7ca7cd6e 1766 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1f1ec4ed
MJ
1767LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
1768
1769 TP_PROTO(const struct btrfs_fs_info *fs_info, char *type, u64 val,
1770 u64 bytes, int reserve),
1771
1772 TP_ARGS(fs_info, type, val, bytes, reserve),
1773
1774 TP_FIELDS(
9d2f1147 1775 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
1f1ec4ed
MJ
1776 ctf_string(type, type)
1777 ctf_integer(u64, val, val)
1778 ctf_integer(u64, bytes, bytes)
1779 ctf_integer(int, reserve, reserve)
1780 )
1781)
1782#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
3bc29f0a 1783LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation,
b87700e3
AG
1784
1785 TP_PROTO(struct btrfs_fs_info *fs_info, char *type, u64 val,
1786 u64 bytes, int reserve),
1787
1788 TP_ARGS(fs_info, type, val, bytes, reserve),
1789
f127e61e 1790 TP_FIELDS(
9d2f1147 1791 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
f127e61e
MD
1792 ctf_string(type, type)
1793 ctf_integer(u64, val, val)
1794 ctf_integer(u64, bytes, bytes)
1795 ctf_integer(int, reserve, reserve)
1796 )
b87700e3
AG
1797)
1798#endif
1799
1f1ec4ed
MJ
1800#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
1801
1802LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
1803
9d2f1147 1804 TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
1f1ec4ed 1805
9d2f1147 1806 TP_ARGS(fs_info, start, len),
1f1ec4ed
MJ
1807
1808 TP_FIELDS(
1809 ctf_integer(u64, start, start)
1810 ctf_integer(u64, len, len)
1811 )
1812)
1813
1814LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_alloc,
1815
9d2f1147 1816 TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
1f1ec4ed 1817
9d2f1147 1818 TP_ARGS(fs_info, start, len)
1f1ec4ed
MJ
1819)
1820
1821LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_free,
1822
9d2f1147 1823 TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len),
1f1ec4ed 1824
9d2f1147 1825 TP_ARGS(fs_info, start, len)
1f1ec4ed
MJ
1826)
1827
1828#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
ff8bdcc2
MD
1829
1830LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
1831
9d2f1147 1832 TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
ff8bdcc2 1833
9d2f1147 1834 TP_ARGS(fs_info, start, len),
ff8bdcc2
MD
1835
1836 TP_FIELDS(
1837 ctf_integer(u64, start, start)
1838 ctf_integer(u64, len, len)
1839 )
1840)
1841
1842LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_alloc,
1843
9d2f1147 1844 TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
ff8bdcc2 1845
9d2f1147 1846 TP_ARGS(fs_info, start, len)
ff8bdcc2
MD
1847)
1848
1849LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_free,
1850
9d2f1147 1851 TP_PROTO(struct btrfs_fs_info *fs_info, u64 start, u64 len),
ff8bdcc2 1852
9d2f1147 1853 TP_ARGS(fs_info, start, len)
ff8bdcc2
MD
1854)
1855
0badc02f
MJ
1856#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1857 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1858 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1859 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
7ca7cd6e
MJ
1860
1861LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
1862
1863 TP_PROTO(const struct btrfs_root *root, u64 start, u64 len),
1864
1865 TP_ARGS(root, start, len),
1866
1867 TP_FIELDS(
1868 ctf_integer(u64, root_objectid, root->root_key.objectid)
1869 ctf_integer(u64, start, start)
1870 ctf_integer(u64, len, len)
1871 )
1872)
1873
1874LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_alloc,
1875
1876 TP_PROTO(const struct btrfs_root *root, u64 start, u64 len),
1877
1878 TP_ARGS(root, start, len)
1879)
1880
1881LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_free,
1882
1883 TP_PROTO(const struct btrfs_root *root, u64 start, u64 len),
1884
1885 TP_ARGS(root, start, len)
1886)
1887
ff8bdcc2
MD
1888#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
1889
3bc29f0a 1890LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent,
b87700e3
AG
1891
1892 TP_PROTO(struct btrfs_root *root, u64 start, u64 len),
1893
1894 TP_ARGS(root, start, len),
1895
f127e61e
MD
1896 TP_FIELDS(
1897 ctf_integer(u64, root_objectid, root->root_key.objectid)
1898 ctf_integer(u64, start, start)
1899 ctf_integer(u64, len, len)
1900 )
b87700e3
AG
1901)
1902
3bc29f0a 1903LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_alloc,
b87700e3
AG
1904
1905 TP_PROTO(struct btrfs_root *root, u64 start, u64 len),
1906
1907 TP_ARGS(root, start, len)
1908)
1909
3bc29f0a 1910LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_free,
b87700e3
AG
1911
1912 TP_PROTO(struct btrfs_root *root, u64 start, u64 len),
1913
1914 TP_ARGS(root, start, len)
1915)
1916
ff8bdcc2
MD
1917#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
1918
ab1ddefc
MJ
1919#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,10,0) || \
1920 LTTNG_KERNEL_RANGE(5,9,6, 5,10,0) || \
1921 LTTNG_KERNEL_RANGE(5,4,78, 5,5,0))
1922LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
1923
1924 btrfs_find_free_extent,
1925
1926 TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
1927 u64 data),
1928
1929 TP_ARGS(root, num_bytes, empty_size, data),
1930
1931 TP_FIELDS(
1932 ctf_array(u8, fsid, root->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
1933 ctf_integer(u64, root_objectid, root->root_key.objectid)
1934 ctf_integer(u64, num_bytes, num_bytes)
1935 ctf_integer(u64, empty_size, empty_size)
1936 ctf_integer(u64, data, data)
1937 )
1938)
1939
1940#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
1941
5809d816
MJ
1942LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
1943
1944 btrfs_find_free_extent,
1945
1946 TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
1947 u64 data),
1948
1949 TP_ARGS(fs_info, num_bytes, empty_size, data),
1950
1951 TP_FIELDS(
1952 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
1953 ctf_integer(u64, num_bytes, num_bytes)
1954 ctf_integer(u64, empty_size, empty_size)
1955 ctf_integer(u64, data, data)
1956 )
1957)
1958
ab1ddefc
MJ
1959#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
1960
1961LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
1962
1963 btrfs_find_free_extent,
1964
1965 TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
1966 u64 data),
1967
1968 TP_ARGS(fs_info, num_bytes, empty_size, data),
1969
1970 TP_FIELDS(
1971 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
1972 ctf_integer(u64, num_bytes, num_bytes)
1973 ctf_integer(u64, empty_size, empty_size)
1974 ctf_integer(u64, data, data)
1975 )
1976)
1977
1978#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
1979
1980LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
1981
1982 btrfs_find_free_extent,
1983
1984 TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
1985 u64 data),
1986
1987 TP_ARGS(fs_info, num_bytes, empty_size, data),
1988
1989 TP_FIELDS(
1990 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
1991 ctf_integer(u64, num_bytes, num_bytes)
1992 ctf_integer(u64, empty_size, empty_size)
1993 ctf_integer(u64, data, data)
1994 )
1995)
1996
1997#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
1998
1999LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
2000
2001 btrfs_find_free_extent,
2002
2003 TP_PROTO(struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size,
2004 u64 data),
2005
2006 TP_ARGS(fs_info, num_bytes, empty_size, data),
2007
2008 TP_FIELDS(
2009 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
2010 ctf_integer(u64, num_bytes, num_bytes)
2011 ctf_integer(u64, empty_size, empty_size)
2012 ctf_integer(u64, data, data)
2013 )
2014)
2015
2016#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
2017 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
2018 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
2019 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
2020
2021LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
2022
2023 btrfs_find_free_extent,
2024
2025 TP_PROTO(const struct btrfs_root *root, u64 num_bytes, u64 empty_size,
2026 u64 data),
2027
2028 TP_ARGS(root, num_bytes, empty_size, data),
2029
2030 TP_FIELDS(
2031 ctf_integer(u64, root_objectid, root->root_key.objectid)
2032 ctf_integer(u64, num_bytes, num_bytes)
2033 ctf_integer(u64, empty_size, empty_size)
2034 ctf_integer(u64, data, data)
2035 )
2036)
2037#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
2038
2039LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent,
2040
2041 btrfs_find_free_extent,
2042
2043 TP_PROTO(struct btrfs_root *root, u64 num_bytes, u64 empty_size,
2044 u64 data),
2045
2046 TP_ARGS(root, num_bytes, empty_size, data),
2047
2048 TP_FIELDS(
2049 ctf_integer(u64, root_objectid, root->root_key.objectid)
2050 ctf_integer(u64, num_bytes, num_bytes)
2051 ctf_integer(u64, empty_size, empty_size)
2052 ctf_integer(u64, data, data)
2053 )
2054)
2055#endif
2056
2057#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
5809d816
MJ
2058LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
2059
2060 TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
2061 u64 len),
2062
2063 TP_ARGS(block_group, start, len),
2064
2065 TP_FIELDS(
2066 ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
2067 ctf_integer(u64, bg_objectid, block_group->start)
2068 ctf_integer(u64, flags, block_group->flags)
2069 ctf_integer(u64, start, start)
2070 ctf_integer(u64, len, len)
2071 )
2072)
2073
2074LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
2075
2076 TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
2077 u64 len),
2078
2079 TP_ARGS(block_group, start, len)
2080)
2081
2082LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
2083
2084 TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
2085 u64 len),
2086
2087 TP_ARGS(block_group, start, len)
2088)
2089
2090#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,18,0))
51ab0b1d
MJ
2091
2092LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
2093
2094 TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start,
2095 u64 len),
2096
2097 TP_ARGS(block_group, start, len),
2098
2099 TP_FIELDS(
9d2f1147 2100 ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE)
51ab0b1d
MJ
2101 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2102 ctf_integer(u64, flags, block_group->flags)
2103 ctf_integer(u64, start, start)
2104 ctf_integer(u64, len, len)
2105 )
2106)
2107
2108LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
2109
2110 TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start,
2111 u64 len),
2112
2113 TP_ARGS(block_group, start, len)
2114)
2115
2116LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
2117
2118 TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start,
2119 u64 len),
2120
2121 TP_ARGS(block_group, start, len)
2122)
ff8bdcc2 2123
51ab0b1d 2124#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
1f1ec4ed
MJ
2125
2126LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
2127
9d2f1147 2128 TP_PROTO(const struct btrfs_fs_info *fs_info,
1f1ec4ed
MJ
2129 const struct btrfs_block_group_cache *block_group, u64 start,
2130 u64 len),
2131
9d2f1147 2132 TP_ARGS(fs_info, block_group, start, len),
1f1ec4ed
MJ
2133
2134 TP_FIELDS(
9d2f1147 2135 ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE)
1f1ec4ed
MJ
2136 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2137 ctf_integer(u64, flags, block_group->flags)
2138 ctf_integer(u64, start, start)
2139 ctf_integer(u64, len, len)
2140 )
2141)
2142
2143LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
2144
9d2f1147 2145 TP_PROTO(const struct btrfs_fs_info *fs_info,
1f1ec4ed
MJ
2146 const struct btrfs_block_group_cache *block_group, u64 start,
2147 u64 len),
2148
9d2f1147 2149 TP_ARGS(fs_info, block_group, start, len)
1f1ec4ed
MJ
2150)
2151
2152LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
2153
9d2f1147 2154 TP_PROTO(const struct btrfs_fs_info *fs_info,
1f1ec4ed
MJ
2155 const struct btrfs_block_group_cache *block_group, u64 start,
2156 u64 len),
2157
9d2f1147 2158 TP_ARGS(fs_info, block_group, start, len)
1f1ec4ed
MJ
2159)
2160
2161#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0))
2162
ff8bdcc2
MD
2163LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
2164
9d2f1147 2165 TP_PROTO(struct btrfs_fs_info *fs_info,
ff8bdcc2
MD
2166 struct btrfs_block_group_cache *block_group, u64 start,
2167 u64 len),
2168
9d2f1147 2169 TP_ARGS(fs_info, block_group, start, len),
ff8bdcc2
MD
2170
2171 TP_FIELDS(
2172 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2173 ctf_integer(u64, flags, block_group->flags)
2174 ctf_integer(u64, start, start)
2175 ctf_integer(u64, len, len)
2176 )
2177)
2178
2179LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
2180
9d2f1147 2181 TP_PROTO(struct btrfs_fs_info *fs_info,
ff8bdcc2
MD
2182 struct btrfs_block_group_cache *block_group, u64 start,
2183 u64 len),
2184
9d2f1147 2185 TP_ARGS(fs_info, block_group, start, len)
ff8bdcc2
MD
2186)
2187
2188LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
2189
9d2f1147 2190 TP_PROTO(struct btrfs_fs_info *fs_info,
ff8bdcc2
MD
2191 struct btrfs_block_group_cache *block_group, u64 start,
2192 u64 len),
2193
9d2f1147 2194 TP_ARGS(fs_info, block_group, start, len)
ff8bdcc2 2195)
0badc02f
MJ
2196#elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
2197 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
2198 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
2199 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
7ca7cd6e 2200
7ca7cd6e
MJ
2201LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
2202
2203 TP_PROTO(const struct btrfs_root *root,
2204 const struct btrfs_block_group_cache *block_group, u64 start,
2205 u64 len),
2206
2207 TP_ARGS(root, block_group, start, len),
2208
2209 TP_FIELDS(
2210 ctf_integer(u64, root_objectid, root->root_key.objectid)
2211 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2212 ctf_integer(u64, flags, block_group->flags)
2213 ctf_integer(u64, start, start)
2214 ctf_integer(u64, len, len)
2215 )
2216)
2217
2218LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
2219
2220 TP_PROTO(const struct btrfs_root *root,
2221 const struct btrfs_block_group_cache *block_group, u64 start,
2222 u64 len),
2223
2224 TP_ARGS(root, block_group, start, len)
2225)
2226
2227LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
2228
2229 TP_PROTO(const struct btrfs_root *root,
2230 const struct btrfs_block_group_cache *block_group, u64 start,
2231 u64 len),
2232
2233 TP_ARGS(root, block_group, start, len)
2234)
ff8bdcc2 2235
1f1ec4ed 2236#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
ff8bdcc2 2237
3bc29f0a 2238LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent,
b87700e3
AG
2239
2240 TP_PROTO(struct btrfs_root *root,
2241 struct btrfs_block_group_cache *block_group, u64 start,
2242 u64 len),
2243
2244 TP_ARGS(root, block_group, start, len),
2245
f127e61e
MD
2246 TP_FIELDS(
2247 ctf_integer(u64, root_objectid, root->root_key.objectid)
2248 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2249 ctf_integer(u64, flags, block_group->flags)
2250 ctf_integer(u64, start, start)
2251 ctf_integer(u64, len, len)
2252 )
b87700e3
AG
2253)
2254
3bc29f0a 2255LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent,
b87700e3
AG
2256
2257 TP_PROTO(struct btrfs_root *root,
2258 struct btrfs_block_group_cache *block_group, u64 start,
2259 u64 len),
2260
2261 TP_ARGS(root, block_group, start, len)
2262)
2263
3bc29f0a 2264LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster,
b87700e3
AG
2265
2266 TP_PROTO(struct btrfs_root *root,
2267 struct btrfs_block_group_cache *block_group, u64 start,
2268 u64 len),
2269
2270 TP_ARGS(root, block_group, start, len)
2271)
2272
ff8bdcc2
MD
2273#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)) */
2274
5809d816
MJ
2275#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0))
2276LTTNG_TRACEPOINT_EVENT(btrfs_find_cluster,
2277
2278 TP_PROTO(const struct btrfs_block_group *block_group, u64 start,
2279 u64 bytes, u64 empty_size, u64 min_bytes),
2280
2281 TP_ARGS(block_group, start, bytes, empty_size, min_bytes),
2282
2283 TP_FIELDS(
2284 ctf_integer(u64, bg_objectid, block_group->start)
2285 ctf_integer(u64, flags, block_group->flags)
2286 ctf_integer(u64, start, start)
2287 ctf_integer(u64, bytes, bytes)
2288 ctf_integer(u64, empty_size, empty_size)
2289 ctf_integer(u64, min_bytes, min_bytes)
2290 )
2291)
2292
2293LTTNG_TRACEPOINT_EVENT(btrfs_failed_cluster_setup,
2294
2295 TP_PROTO(const struct btrfs_block_group *block_group),
2296
2297 TP_ARGS(block_group),
2298
2299 TP_FIELDS(
2300 ctf_integer(u64, bg_objectid, block_group->start)
2301 )
2302)
2303
2304LTTNG_TRACEPOINT_EVENT(btrfs_setup_cluster,
2305
2306 TP_PROTO(const struct btrfs_block_group *block_group,
2307 const struct btrfs_free_cluster *cluster, u64 size, int bitmap),
2308
2309 TP_ARGS(block_group, cluster, size, bitmap),
2310
2311 TP_FIELDS(
2312 ctf_integer(u64, bg_objectid, block_group->start)
2313 ctf_integer(u64, flags, block_group->flags)
2314 ctf_integer(u64, start, cluster->window_start)
2315 ctf_integer(u64, max_size, cluster->max_size)
2316 ctf_integer(u64, size, size)
2317 ctf_integer(int, bitmap, bitmap)
2318 )
2319)
2320#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
0badc02f
MJ
2321 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
2322 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
2323 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
7ca7cd6e 2324 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1f1ec4ed
MJ
2325LTTNG_TRACEPOINT_EVENT(btrfs_find_cluster,
2326
2327 TP_PROTO(const struct btrfs_block_group_cache *block_group, u64 start,
2328 u64 bytes, u64 empty_size, u64 min_bytes),
2329
2330 TP_ARGS(block_group, start, bytes, empty_size, min_bytes),
2331
2332 TP_FIELDS(
2333 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2334 ctf_integer(u64, flags, block_group->flags)
2335 ctf_integer(u64, start, start)
2336 ctf_integer(u64, bytes, bytes)
2337 ctf_integer(u64, empty_size, empty_size)
2338 ctf_integer(u64, min_bytes, min_bytes)
2339 )
2340)
2341
2342LTTNG_TRACEPOINT_EVENT(btrfs_failed_cluster_setup,
2343
2344 TP_PROTO(const struct btrfs_block_group_cache *block_group),
2345
2346 TP_ARGS(block_group),
2347
2348 TP_FIELDS(
2349 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2350 )
2351)
2352
2353LTTNG_TRACEPOINT_EVENT(btrfs_setup_cluster,
2354
2355 TP_PROTO(const struct btrfs_block_group_cache *block_group,
2356 const struct btrfs_free_cluster *cluster, u64 size, int bitmap),
2357
2358 TP_ARGS(block_group, cluster, size, bitmap),
2359
2360 TP_FIELDS(
2361 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2362 ctf_integer(u64, flags, block_group->flags)
2363 ctf_integer(u64, start, cluster->window_start)
2364 ctf_integer(u64, max_size, cluster->max_size)
2365 ctf_integer(u64, size, size)
2366 ctf_integer(int, bitmap, bitmap)
2367 )
2368)
2369#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0))
3bc29f0a 2370LTTNG_TRACEPOINT_EVENT(btrfs_find_cluster,
b87700e3
AG
2371
2372 TP_PROTO(struct btrfs_block_group_cache *block_group, u64 start,
2373 u64 bytes, u64 empty_size, u64 min_bytes),
2374
2375 TP_ARGS(block_group, start, bytes, empty_size, min_bytes),
2376
f127e61e
MD
2377 TP_FIELDS(
2378 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2379 ctf_integer(u64, flags, block_group->flags)
2380 ctf_integer(u64, start, start)
2381 ctf_integer(u64, bytes, bytes)
2382 ctf_integer(u64, empty_size, empty_size)
2383 ctf_integer(u64, min_bytes, min_bytes)
2384 )
b87700e3
AG
2385)
2386
3bc29f0a 2387LTTNG_TRACEPOINT_EVENT(btrfs_failed_cluster_setup,
b87700e3
AG
2388
2389 TP_PROTO(struct btrfs_block_group_cache *block_group),
2390
2391 TP_ARGS(block_group),
2392
f127e61e
MD
2393 TP_FIELDS(
2394 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2395 )
b87700e3
AG
2396)
2397
3bc29f0a 2398LTTNG_TRACEPOINT_EVENT(btrfs_setup_cluster,
b87700e3
AG
2399
2400 TP_PROTO(struct btrfs_block_group_cache *block_group,
2401 struct btrfs_free_cluster *cluster, u64 size, int bitmap),
2402
2403 TP_ARGS(block_group, cluster, size, bitmap),
2404
f127e61e
MD
2405 TP_FIELDS(
2406 ctf_integer(u64, bg_objectid, block_group->key.objectid)
2407 ctf_integer(u64, flags, block_group->flags)
2408 ctf_integer(u64, start, cluster->window_start)
2409 ctf_integer(u64, max_size, cluster->max_size)
2410 ctf_integer(u64, size, size)
2411 ctf_integer(int, bitmap, bitmap)
2412 )
b87700e3
AG
2413)
2414#endif
2415
7ca7cd6e 2416#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0) || \
0badc02f
MJ
2417 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
2418 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
2419 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
7ca7cd6e 2420 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1f1ec4ed
MJ
2421LTTNG_TRACEPOINT_EVENT_MAP(alloc_extent_state,
2422
2423 btrfs_alloc_extent_state,
2424
2425 TP_PROTO(const struct extent_state *state, gfp_t mask, unsigned long IP),
2426
2427 TP_ARGS(state, mask, IP),
2428
2429 TP_FIELDS(
2430 ctf_integer_hex(const struct extent_state *, state, state)
2431 ctf_integer(gfp_t, mask, mask)
2c054599 2432 ctf_integer_hex(unsigned long, ip, IP)
1f1ec4ed
MJ
2433 )
2434)
2435
2436LTTNG_TRACEPOINT_EVENT_MAP(free_extent_state,
2437
2438 btrfs_free_extent_state,
2439
2440 TP_PROTO(const struct extent_state *state, unsigned long IP),
2441
2442 TP_ARGS(state, IP),
2443
2444 TP_FIELDS(
2445 ctf_integer_hex(const struct extent_state *, state, state)
2c054599 2446 ctf_integer_hex(unsigned long, ip, IP)
1f1ec4ed
MJ
2447 )
2448)
2449#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0))
3bc29f0a 2450LTTNG_TRACEPOINT_EVENT_MAP(alloc_extent_state,
9cf29d3e
MD
2451
2452 btrfs_alloc_extent_state,
b87700e3
AG
2453
2454 TP_PROTO(struct extent_state *state, gfp_t mask, unsigned long IP),
2455
2456 TP_ARGS(state, mask, IP),
2457
f127e61e 2458 TP_FIELDS(
fa91fcac 2459 ctf_integer_hex(struct extent_state *, state, state)
f127e61e 2460 ctf_integer(gfp_t, mask, mask)
2c054599 2461 ctf_integer_hex(unsigned long, ip, IP)
f127e61e 2462 )
b87700e3
AG
2463)
2464
3bc29f0a 2465LTTNG_TRACEPOINT_EVENT_MAP(free_extent_state,
9cf29d3e
MD
2466
2467 btrfs_free_extent_state,
b87700e3
AG
2468
2469 TP_PROTO(struct extent_state *state, unsigned long IP),
2470
2471 TP_ARGS(state, IP),
2472
f127e61e 2473 TP_FIELDS(
fa91fcac 2474 ctf_integer_hex(struct extent_state *, state, state)
2c054599 2475 ctf_integer_hex(unsigned long, ip, IP)
f127e61e 2476 )
b87700e3
AG
2477)
2478#endif
2479
3bc29f0a 2480#endif /* LTTNG_TRACE_BTRFS_H */
b87700e3
AG
2481
2482/* This part must be outside protection */
3b4aafcb 2483#include <lttng/define_trace.h>
This page took 0.154557 seconds and 4 git commands to generate.