1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #define TRACE_SYSTEM btrfs
5 #if !defined(LTTNG_TRACE_BTRFS_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_BTRFS_H
8 #include <lttng/tracepoint-event.h>
9 #include <linux/writeback.h>
10 #include <lttng/kernel-version.h>
12 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,2,0))
13 #include <../fs/btrfs/accessors.h>
16 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0))
17 #include <../fs/btrfs/extent-tree.h>
20 #ifndef _TRACE_BTRFS_DEF_
21 #define _TRACE_BTRFS_DEF_
26 struct btrfs_ordered_extent
;
27 struct btrfs_delayed_ref_node
;
28 struct btrfs_delayed_tree_ref
;
29 struct btrfs_delayed_data_ref
;
30 struct btrfs_delayed_ref_head
;
31 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0))
32 struct btrfs_block_group
;
34 struct btrfs_block_group_cache
;
36 struct btrfs_free_cluster
;
42 #define BTRFS_UUID_SIZE 16
44 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,0,0))
45 #define lttng_fs_info_fsid fs_info->fs_devices->fsid
47 #define lttng_fs_info_fsid fs_info->fsid
50 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
51 LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit
,
53 TP_PROTO(const struct btrfs_fs_info
*fs_info
),
58 ctf_integer(u64
, generation
, fs_info
->generation
)
59 ctf_integer(u64
, root_objectid
, BTRFS_ROOT_TREE_OBJECTID
)
62 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
63 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
64 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
65 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
66 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
67 LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit
,
69 TP_PROTO(const struct btrfs_root
*root
),
74 ctf_integer(u64
, generation
, root
->fs_info
->generation
)
75 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
79 LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit
,
81 TP_PROTO(struct btrfs_root
*root
),
86 ctf_integer(u64
, generation
, root
->fs_info
->generation
)
87 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
92 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
93 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
94 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
95 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
96 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
97 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__inode
,
99 TP_PROTO(const struct inode
*inode
),
104 ctf_integer(ino_t
, ino
, inode
->i_ino
)
105 ctf_integer(blkcnt_t
, blocks
, inode
->i_blocks
)
106 ctf_integer(u64
, disk_i_size
, BTRFS_I(inode
)->disk_i_size
)
107 ctf_integer(u64
, generation
, BTRFS_I(inode
)->generation
)
108 ctf_integer(u64
, last_trans
, BTRFS_I(inode
)->last_trans
)
109 ctf_integer(u64
, logged_trans
, BTRFS_I(inode
)->logged_trans
)
110 ctf_integer(u64
, root_objectid
,
111 BTRFS_I(inode
)->root
->root_key
.objectid
)
115 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode
, btrfs_inode_new
,
117 TP_PROTO(const struct inode
*inode
),
122 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode
, btrfs_inode_request
,
124 TP_PROTO(const struct inode
*inode
),
129 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode
, btrfs_inode_evict
,
131 TP_PROTO(const struct inode
*inode
),
136 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__inode
,
138 TP_PROTO(struct inode
*inode
),
143 ctf_integer(ino_t
, ino
, inode
->i_ino
)
144 ctf_integer(blkcnt_t
, blocks
, inode
->i_blocks
)
145 ctf_integer(u64
, disk_i_size
, BTRFS_I(inode
)->disk_i_size
)
146 ctf_integer(u64
, generation
, BTRFS_I(inode
)->generation
)
147 ctf_integer(u64
, last_trans
, BTRFS_I(inode
)->last_trans
)
148 ctf_integer(u64
, logged_trans
, BTRFS_I(inode
)->logged_trans
)
149 ctf_integer(u64
, root_objectid
,
150 BTRFS_I(inode
)->root
->root_key
.objectid
)
154 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode
, btrfs_inode_new
,
156 TP_PROTO(struct inode
*inode
),
161 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode
, btrfs_inode_request
,
163 TP_PROTO(struct inode
*inode
),
168 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode
, btrfs_inode_evict
,
170 TP_PROTO(struct inode
*inode
),
176 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
178 LTTNG_TRACEPOINT_EVENT(btrfs_get_extent
,
180 TP_PROTO(const struct btrfs_root
*root
, const struct btrfs_inode
*inode
,
181 const struct extent_map
*map
),
183 TP_ARGS(root
, inode
, map
),
186 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
187 ctf_integer(u64
, ino
, btrfs_ino(inode
))
188 ctf_integer(u64
, start
, map
->start
)
189 ctf_integer(u64
, len
, map
->len
)
190 ctf_integer(u64
, orig_start
, map
->orig_start
)
191 ctf_integer(u64
, block_start
, map
->block_start
)
192 ctf_integer(u64
, block_len
, map
->block_len
)
193 ctf_integer(unsigned long, flags
, map
->flags
)
194 ctf_integer(int, refs
, refcount_read(&map
->refs
))
195 ctf_integer(unsigned int, compress_type
, map
->compress_type
)
199 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,12,0))
201 LTTNG_TRACEPOINT_EVENT(btrfs_get_extent
,
203 TP_PROTO(struct btrfs_root
*root
, struct btrfs_inode
*inode
,
204 struct extent_map
*map
),
206 TP_ARGS(root
, inode
, map
),
209 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
210 ctf_integer(u64
, ino
, btrfs_ino(inode
))
211 ctf_integer(u64
, start
, map
->start
)
212 ctf_integer(u64
, len
, map
->len
)
213 ctf_integer(u64
, orig_start
, map
->orig_start
)
214 ctf_integer(u64
, block_start
, map
->block_start
)
215 ctf_integer(u64
, block_len
, map
->block_len
)
216 ctf_integer(unsigned long, flags
, map
->flags
)
217 ctf_integer(int, refs
, refcount_read(&map
->refs
))
218 ctf_integer(unsigned int, compress_type
, map
->compress_type
)
222 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0))
224 LTTNG_TRACEPOINT_EVENT(btrfs_get_extent
,
226 TP_PROTO(struct btrfs_root
*root
, struct btrfs_inode
*inode
,
227 struct extent_map
*map
),
229 TP_ARGS(root
, inode
, map
),
232 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
233 ctf_integer(u64
, ino
, btrfs_ino(inode
))
234 ctf_integer(u64
, start
, map
->start
)
235 ctf_integer(u64
, len
, map
->len
)
236 ctf_integer(u64
, orig_start
, map
->orig_start
)
237 ctf_integer(u64
, block_start
, map
->block_start
)
238 ctf_integer(u64
, block_len
, map
->block_len
)
239 ctf_integer(unsigned long, flags
, map
->flags
)
240 ctf_integer(int, refs
, atomic_read(&map
->refs
))
241 ctf_integer(unsigned int, compress_type
, map
->compress_type
)
245 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0))
247 LTTNG_TRACEPOINT_EVENT(btrfs_get_extent
,
249 TP_PROTO(struct btrfs_root
*root
, struct inode
*inode
,
250 struct extent_map
*map
),
252 TP_ARGS(root
, inode
, map
),
255 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
256 ctf_integer(u64
, ino
, btrfs_ino(inode
))
257 ctf_integer(u64
, start
, map
->start
)
258 ctf_integer(u64
, len
, map
->len
)
259 ctf_integer(u64
, orig_start
, map
->orig_start
)
260 ctf_integer(u64
, block_start
, map
->block_start
)
261 ctf_integer(u64
, block_len
, map
->block_len
)
262 ctf_integer(unsigned long, flags
, map
->flags
)
263 ctf_integer(int, refs
, atomic_read(&map
->refs
))
264 ctf_integer(unsigned int, compress_type
, map
->compress_type
)
268 #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
269 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
270 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
271 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
273 LTTNG_TRACEPOINT_EVENT(btrfs_get_extent
,
275 TP_PROTO(const struct btrfs_root
*root
, const struct extent_map
*map
),
280 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
281 ctf_integer(u64
, start
, map
->start
)
282 ctf_integer(u64
, len
, map
->len
)
283 ctf_integer(u64
, orig_start
, map
->orig_start
)
284 ctf_integer(u64
, block_start
, map
->block_start
)
285 ctf_integer(u64
, block_len
, map
->block_len
)
286 ctf_integer(unsigned long, flags
, map
->flags
)
287 ctf_integer(int, refs
, atomic_read(&map
->refs
))
288 ctf_integer(unsigned int, compress_type
, map
->compress_type
)
292 #else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
294 LTTNG_TRACEPOINT_EVENT(btrfs_get_extent
,
296 TP_PROTO(struct btrfs_root
*root
, struct extent_map
*map
),
301 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
302 ctf_integer(u64
, start
, map
->start
)
303 ctf_integer(u64
, len
, map
->len
)
304 ctf_integer(u64
, orig_start
, map
->orig_start
)
305 ctf_integer(u64
, block_start
, map
->block_start
)
306 ctf_integer(u64
, block_len
, map
->block_len
)
307 ctf_integer(unsigned long, flags
, map
->flags
)
308 ctf_integer(int, refs
, atomic_read(&map
->refs
))
309 ctf_integer(unsigned int, compress_type
, map
->compress_type
)
313 #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
315 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0))
316 LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist
,
318 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
319 const struct extent_map
*existing
, const struct extent_map
*map
,
322 TP_ARGS(fs_info
, existing
, map
, start
, len
),
325 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
326 ctf_integer(u64
, e_start
, existing
->start
)
327 ctf_integer(u64
, e_len
, existing
->len
)
328 ctf_integer(u64
, map_start
, map
->start
)
329 ctf_integer(u64
, map_len
, map
->len
)
330 ctf_integer(u64
, start
, start
)
331 ctf_integer(u64
, len
, len
)
334 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,18,0))
335 LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist
,
337 TP_PROTO(struct btrfs_fs_info
*fs_info
,
338 const struct extent_map
*existing
, const struct extent_map
*map
,
341 TP_ARGS(fs_info
, existing
, map
, start
, len
),
344 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
345 ctf_integer(u64
, e_start
, existing
->start
)
346 ctf_integer(u64
, e_len
, existing
->len
)
347 ctf_integer(u64
, map_start
, map
->start
)
348 ctf_integer(u64
, map_len
, map
->len
)
349 ctf_integer(u64
, start
, start
)
350 ctf_integer(u64
, len
, len
)
353 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,17,0))
354 LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist
,
356 TP_PROTO(const struct extent_map
*existing
, const struct extent_map
*map
, u64 start
, u64 len
),
358 TP_ARGS(existing
, map
, start
, len
),
361 ctf_integer(u64
, e_start
, existing
->start
)
362 ctf_integer(u64
, e_len
, existing
->len
)
363 ctf_integer(u64
, map_start
, map
->start
)
364 ctf_integer(u64
, map_len
, map
->len
)
365 ctf_integer(u64
, start
, start
)
366 ctf_integer(u64
, len
, len
)
371 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0))
372 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent
,
374 TP_PROTO(const struct btrfs_inode
*inode
,
375 const struct btrfs_ordered_extent
*ordered
),
377 TP_ARGS(inode
, ordered
),
380 ctf_array(u8
, fsid
, inode
->root
->lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
381 ctf_integer(ino_t
, ino
, btrfs_ino(inode
))
382 ctf_integer(u64
, file_offset
, ordered
->file_offset
)
383 ctf_integer(u64
, start
, ordered
->disk_bytenr
)
384 ctf_integer(u64
, len
, ordered
->num_bytes
)
385 ctf_integer(u64
, disk_len
, ordered
->disk_num_bytes
)
386 ctf_integer(u64
, bytes_left
, ordered
->bytes_left
)
387 ctf_integer(unsigned long, flags
, ordered
->flags
)
388 ctf_integer(int, compress_type
, ordered
->compress_type
)
389 ctf_integer(int, refs
, refcount_read(&ordered
->refs
))
390 ctf_integer(u64
, root_objectid
, inode
->root
->root_key
.objectid
)
393 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,6,0))
394 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent
,
396 TP_PROTO(const struct inode
*inode
,
397 const struct btrfs_ordered_extent
*ordered
),
399 TP_ARGS(inode
, ordered
),
402 ctf_integer(ino_t
, ino
, inode
->i_ino
)
403 ctf_integer(u64
, file_offset
, ordered
->file_offset
)
404 ctf_integer(u64
, start
, ordered
->disk_bytenr
)
405 ctf_integer(u64
, len
, ordered
->num_bytes
)
406 ctf_integer(u64
, disk_len
, ordered
->disk_num_bytes
)
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
)
415 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
416 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent
,
418 TP_PROTO(const struct inode
*inode
,
419 const struct btrfs_ordered_extent
*ordered
),
421 TP_ARGS(inode
, ordered
),
424 ctf_integer(ino_t
, ino
, inode
->i_ino
)
425 ctf_integer(u64
, file_offset
, ordered
->file_offset
)
426 ctf_integer(u64
, start
, ordered
->start
)
427 ctf_integer(u64
, len
, ordered
->len
)
428 ctf_integer(u64
, disk_len
, ordered
->disk_len
)
429 ctf_integer(u64
, bytes_left
, ordered
->bytes_left
)
430 ctf_integer(unsigned long, flags
, ordered
->flags
)
431 ctf_integer(int, compress_type
, ordered
->compress_type
)
432 ctf_integer(int, refs
, refcount_read(&ordered
->refs
))
433 ctf_integer(u64
, root_objectid
,
434 BTRFS_I(inode
)->root
->root_key
.objectid
)
437 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,12,0))
438 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent
,
440 TP_PROTO(struct inode
*inode
, struct btrfs_ordered_extent
*ordered
),
442 TP_ARGS(inode
, ordered
),
445 ctf_integer(ino_t
, ino
, inode
->i_ino
)
446 ctf_integer(u64
, file_offset
, ordered
->file_offset
)
447 ctf_integer(u64
, start
, ordered
->start
)
448 ctf_integer(u64
, len
, ordered
->len
)
449 ctf_integer(u64
, disk_len
, ordered
->disk_len
)
450 ctf_integer(u64
, bytes_left
, ordered
->bytes_left
)
451 ctf_integer(unsigned long, flags
, ordered
->flags
)
452 ctf_integer(int, compress_type
, ordered
->compress_type
)
453 ctf_integer(int, refs
, refcount_read(&ordered
->refs
))
454 ctf_integer(u64
, root_objectid
,
455 BTRFS_I(inode
)->root
->root_key
.objectid
)
458 #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
459 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
460 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
461 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
462 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent
,
464 TP_PROTO(const struct inode
*inode
, const struct btrfs_ordered_extent
*ordered
),
466 TP_ARGS(inode
, ordered
),
469 ctf_integer(ino_t
, ino
, inode
->i_ino
)
470 ctf_integer(u64
, file_offset
, ordered
->file_offset
)
471 ctf_integer(u64
, start
, ordered
->start
)
472 ctf_integer(u64
, len
, ordered
->len
)
473 ctf_integer(u64
, disk_len
, ordered
->disk_len
)
474 ctf_integer(u64
, bytes_left
, ordered
->bytes_left
)
475 ctf_integer(unsigned long, flags
, ordered
->flags
)
476 ctf_integer(int, compress_type
, ordered
->compress_type
)
477 ctf_integer(int, refs
, atomic_read(&ordered
->refs
))
478 ctf_integer(u64
, root_objectid
,
479 BTRFS_I(inode
)->root
->root_key
.objectid
)
483 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent
,
485 TP_PROTO(struct inode
*inode
, struct btrfs_ordered_extent
*ordered
),
487 TP_ARGS(inode
, ordered
),
490 ctf_integer(ino_t
, ino
, inode
->i_ino
)
491 ctf_integer(u64
, file_offset
, ordered
->file_offset
)
492 ctf_integer(u64
, start
, ordered
->start
)
493 ctf_integer(u64
, len
, ordered
->len
)
494 ctf_integer(u64
, disk_len
, ordered
->disk_len
)
495 ctf_integer(u64
, bytes_left
, ordered
->bytes_left
)
496 ctf_integer(unsigned long, flags
, ordered
->flags
)
497 ctf_integer(int, compress_type
, ordered
->compress_type
)
498 ctf_integer(int, refs
, atomic_read(&ordered
->refs
))
499 ctf_integer(u64
, root_objectid
,
500 BTRFS_I(inode
)->root
->root_key
.objectid
)
505 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0))
506 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_add
,
508 TP_PROTO(const struct btrfs_inode
*inode
,
509 const struct btrfs_ordered_extent
*ordered
),
511 TP_ARGS(inode
, ordered
)
514 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_remove
,
516 TP_PROTO(const struct btrfs_inode
*inode
,
517 const struct btrfs_ordered_extent
*ordered
),
519 TP_ARGS(inode
, ordered
)
522 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_start
,
524 TP_PROTO(const struct btrfs_inode
*inode
,
525 const struct btrfs_ordered_extent
*ordered
),
527 TP_ARGS(inode
, ordered
)
530 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_put
,
532 TP_PROTO(const struct btrfs_inode
*inode
,
533 const struct btrfs_ordered_extent
*ordered
),
535 TP_ARGS(inode
, ordered
)
537 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
538 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
539 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
540 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
541 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
542 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_add
,
544 TP_PROTO(const struct inode
*inode
,
545 const struct btrfs_ordered_extent
*ordered
),
547 TP_ARGS(inode
, ordered
)
550 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_remove
,
552 TP_PROTO(const struct inode
*inode
,
553 const struct btrfs_ordered_extent
*ordered
),
555 TP_ARGS(inode
, ordered
)
558 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_start
,
560 TP_PROTO(const struct inode
*inode
,
561 const struct btrfs_ordered_extent
*ordered
),
563 TP_ARGS(inode
, ordered
)
566 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_put
,
568 TP_PROTO(const struct inode
*inode
,
569 const struct btrfs_ordered_extent
*ordered
),
571 TP_ARGS(inode
, ordered
)
574 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_add
,
576 TP_PROTO(struct inode
*inode
, struct btrfs_ordered_extent
*ordered
),
578 TP_ARGS(inode
, ordered
)
581 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_remove
,
583 TP_PROTO(struct inode
*inode
, struct btrfs_ordered_extent
*ordered
),
585 TP_ARGS(inode
, ordered
)
588 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_start
,
590 TP_PROTO(struct inode
*inode
, struct btrfs_ordered_extent
*ordered
),
592 TP_ARGS(inode
, ordered
)
595 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent
, btrfs_ordered_extent_put
,
597 TP_PROTO(struct inode
*inode
, struct btrfs_ordered_extent
*ordered
),
599 TP_ARGS(inode
, ordered
)
603 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,14,0))
604 LTTNG_TRACEPOINT_EVENT(btrfs_writepage_end_io_hook
,
606 TP_PROTO(const struct btrfs_inode
*inode
, u64 start
, u64 end
, int uptodate
),
608 TP_ARGS(inode
, start
, end
, uptodate
),
611 ctf_integer(u64
, ino
, btrfs_ino(inode
))
612 ctf_integer(u64
, start
, start
)
613 ctf_integer(u64
, end
, end
)
614 ctf_integer(int, uptodate
, uptodate
)
615 ctf_integer(u64
, root_objectid
, inode
->root
->root_key
.objectid
)
619 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
620 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
621 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
622 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
623 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
625 LTTNG_TRACEPOINT_EVENT(btrfs_writepage_end_io_hook
,
627 TP_PROTO(const struct page
*page
, u64 start
, u64 end
, int uptodate
),
629 TP_ARGS(page
, start
, end
, uptodate
),
632 ctf_integer(ino_t
, ino
, page
->mapping
->host
->i_ino
)
633 ctf_integer(pgoff_t
, index
, page
->index
)
634 ctf_integer(u64
, start
, start
)
635 ctf_integer(u64
, end
, end
)
636 ctf_integer(int, uptodate
, uptodate
)
637 ctf_integer(u64
, root_objectid
,
638 BTRFS_I(page
->mapping
->host
)->root
->root_key
.objectid
)
644 LTTNG_TRACEPOINT_EVENT(btrfs_writepage_end_io_hook
,
646 TP_PROTO(struct page
*page
, u64 start
, u64 end
, int uptodate
),
648 TP_ARGS(page
, start
, end
, uptodate
),
651 ctf_integer(ino_t
, ino
, page
->mapping
->host
->i_ino
)
652 ctf_integer(pgoff_t
, index
, page
->index
)
653 ctf_integer(u64
, start
, start
)
654 ctf_integer(u64
, end
, end
)
655 ctf_integer(int, uptodate
, uptodate
)
656 ctf_integer(u64
, root_objectid
,
657 BTRFS_I(page
->mapping
->host
)->root
->root_key
.objectid
)
662 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
663 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
664 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
665 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
666 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
667 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage
,
669 TP_PROTO(const struct page
*page
, const struct inode
*inode
,
670 const struct writeback_control
*wbc
),
672 TP_ARGS(page
, inode
, wbc
),
675 ctf_integer(ino_t
, ino
, inode
->i_ino
)
676 ctf_integer(pgoff_t
, index
, page
->index
)
677 ctf_integer(long, nr_to_write
, wbc
->nr_to_write
)
678 ctf_integer(long, pages_skipped
, wbc
->pages_skipped
)
679 ctf_integer(loff_t
, range_start
, wbc
->range_start
)
680 ctf_integer(loff_t
, range_end
, wbc
->range_end
)
681 ctf_integer(char, for_kupdate
, wbc
->for_kupdate
)
682 ctf_integer(char, for_reclaim
, wbc
->for_reclaim
)
683 ctf_integer(char, range_cyclic
, wbc
->range_cyclic
)
684 ctf_integer(pgoff_t
, writeback_index
,
685 inode
->i_mapping
->writeback_index
)
686 ctf_integer(u64
, root_objectid
,
687 BTRFS_I(inode
)->root
->root_key
.objectid
)
691 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs__writepage
,
695 btrfs__extent_writepage
,
697 TP_PROTO(const struct page
*page
, const struct inode
*inode
,
698 const struct writeback_control
*wbc
),
700 TP_ARGS(page
, inode
, wbc
)
703 LTTNG_TRACEPOINT_EVENT(btrfs_sync_file
,
705 TP_PROTO(const struct file
*file
, int datasync
),
707 TP_ARGS(file
, datasync
),
710 ctf_integer(ino_t
, ino
, file
->f_path
.dentry
->d_inode
->i_ino
)
711 ctf_integer(ino_t
, parent
, file
->f_path
.dentry
->d_parent
->d_inode
->i_ino
)
712 ctf_integer(int, datasync
, datasync
)
713 ctf_integer(u64
, root_objectid
,
714 BTRFS_I(file
->f_path
.dentry
->d_inode
)->root
->root_key
.objectid
)
718 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage
,
720 TP_PROTO(struct page
*page
, struct inode
*inode
,
721 struct writeback_control
*wbc
),
723 TP_ARGS(page
, inode
, wbc
),
726 ctf_integer(ino_t
, ino
, inode
->i_ino
)
727 ctf_integer(pgoff_t
, index
, page
->index
)
728 ctf_integer(long, nr_to_write
, wbc
->nr_to_write
)
729 ctf_integer(long, pages_skipped
, wbc
->pages_skipped
)
730 ctf_integer(loff_t
, range_start
, wbc
->range_start
)
731 ctf_integer(loff_t
, range_end
, wbc
->range_end
)
732 ctf_integer(char, for_kupdate
, wbc
->for_kupdate
)
733 ctf_integer(char, for_reclaim
, wbc
->for_reclaim
)
734 ctf_integer(char, range_cyclic
, wbc
->range_cyclic
)
735 ctf_integer(pgoff_t
, writeback_index
,
736 inode
->i_mapping
->writeback_index
)
737 ctf_integer(u64
, root_objectid
,
738 BTRFS_I(inode
)->root
->root_key
.objectid
)
742 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs__writepage
,
746 btrfs__extent_writepage
,
748 TP_PROTO(struct page
*page
, struct inode
*inode
,
749 struct writeback_control
*wbc
),
751 TP_ARGS(page
, inode
, wbc
)
754 LTTNG_TRACEPOINT_EVENT(btrfs_sync_file
,
756 TP_PROTO(struct file
*file
, int datasync
),
758 TP_ARGS(file
, datasync
),
761 ctf_integer(ino_t
, ino
, file
->f_path
.dentry
->d_inode
->i_ino
)
762 ctf_integer(ino_t
, parent
, file
->f_path
.dentry
->d_parent
->d_inode
->i_ino
)
763 ctf_integer(int, datasync
, datasync
)
764 ctf_integer(u64
, root_objectid
,
765 BTRFS_I(file
->f_path
.dentry
->d_inode
)->root
->root_key
.objectid
)
770 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
771 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
772 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
773 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
774 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
775 LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
776 LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
777 LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
778 LTTNG_TRACEPOINT_EVENT(btrfs_sync_fs
,
780 TP_PROTO(const struct btrfs_fs_info
*fs_info
, int wait
),
782 TP_ARGS(fs_info
, wait
),
785 ctf_integer(int, wait
, wait
)
788 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
789 LTTNG_TRACEPOINT_EVENT(btrfs_sync_fs
,
791 TP_PROTO(struct btrfs_fs_info
*fs_info
, int wait
),
793 TP_ARGS(fs_info
, wait
),
796 ctf_integer(int, wait
, wait
)
800 LTTNG_TRACEPOINT_EVENT(btrfs_sync_fs
,
807 ctf_integer(int, wait
, wait
)
812 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0))
813 LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group
,
815 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
816 const struct btrfs_block_group
*block_group
, int create
),
818 TP_ARGS(fs_info
, block_group
, create
),
821 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
822 ctf_integer(u64
, offset
, block_group
->start
)
823 ctf_integer(u64
, size
, block_group
->length
)
824 ctf_integer(u64
, flags
, block_group
->flags
)
825 ctf_integer(u64
, bytes_used
, block_group
->used
)
826 ctf_integer(u64
, bytes_super
, block_group
->bytes_super
)
827 ctf_integer(int, create
, create
)
830 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
831 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
832 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
833 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
834 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
835 LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group
,
837 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
838 const struct btrfs_block_group_cache
*block_group
, int create
),
840 TP_ARGS(fs_info
, block_group
, create
),
843 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
844 ctf_integer(u64
, offset
, block_group
->key
.objectid
)
845 ctf_integer(u64
, size
, block_group
->key
.offset
)
846 ctf_integer(u64
, flags
, block_group
->flags
)
847 ctf_integer(u64
, bytes_used
, btrfs_block_group_used(&block_group
->item
))
848 ctf_integer(u64
, bytes_super
, block_group
->bytes_super
)
849 ctf_integer(int, create
, create
)
853 LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group
,
855 TP_PROTO(struct btrfs_fs_info
*fs_info
,
856 struct btrfs_block_group_cache
*block_group
, int create
),
858 TP_ARGS(fs_info
, block_group
, create
),
861 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
862 ctf_integer(u64
, offset
, block_group
->key
.objectid
)
863 ctf_integer(u64
, size
, block_group
->key
.offset
)
864 ctf_integer(u64
, flags
, block_group
->flags
)
865 ctf_integer(u64
, bytes_used
, btrfs_block_group_used(&block_group
->item
))
866 ctf_integer(u64
, bytes_super
, block_group
->bytes_super
)
867 ctf_integer(int, create
, create
)
872 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
873 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
874 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
875 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
876 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
877 LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
878 LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
879 LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
880 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref
,
882 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
883 const struct btrfs_delayed_ref_node
*ref
,
884 const struct btrfs_delayed_tree_ref
*full_ref
,
887 TP_ARGS(fs_info
, ref
, full_ref
, action
),
890 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
891 ctf_integer(u64
, bytenr
, ref
->bytenr
)
892 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
893 ctf_integer(int, action
, action
)
894 ctf_integer(u64
, parent
, full_ref
->parent
)
895 ctf_integer(u64
, ref_root
, full_ref
->root
)
896 ctf_integer(int, level
, full_ref
->level
)
897 ctf_integer(int, type
, ref
->type
)
898 ctf_integer(u64
, seq
, ref
->seq
)
902 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref
,
904 add_delayed_tree_ref
,
906 btrfs_add_delayed_tree_ref
,
908 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
909 const struct btrfs_delayed_ref_node
*ref
,
910 const struct btrfs_delayed_tree_ref
*full_ref
,
913 TP_ARGS(fs_info
, ref
, full_ref
, action
)
916 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref
,
918 run_delayed_tree_ref
,
920 btrfs_run_delayed_tree_ref
,
922 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
923 const struct btrfs_delayed_ref_node
*ref
,
924 const struct btrfs_delayed_tree_ref
*full_ref
,
927 TP_ARGS(fs_info
, ref
, full_ref
, action
)
929 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
930 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref
,
932 TP_PROTO(struct btrfs_fs_info
*fs_info
,
933 struct btrfs_delayed_ref_node
*ref
,
934 struct btrfs_delayed_tree_ref
*full_ref
,
937 TP_ARGS(fs_info
, ref
, full_ref
, action
),
940 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
941 ctf_integer(u64
, bytenr
, ref
->bytenr
)
942 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
943 ctf_integer(int, action
, action
)
944 ctf_integer(u64
, parent
, full_ref
->parent
)
945 ctf_integer(u64
, ref_root
, full_ref
->root
)
946 ctf_integer(int, level
, full_ref
->level
)
947 ctf_integer(int, type
, ref
->type
)
948 ctf_integer(u64
, seq
, ref
->seq
)
952 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref
,
954 add_delayed_tree_ref
,
956 btrfs_add_delayed_tree_ref
,
958 TP_PROTO(struct btrfs_fs_info
*fs_info
,
959 struct btrfs_delayed_ref_node
*ref
,
960 struct btrfs_delayed_tree_ref
*full_ref
,
963 TP_ARGS(fs_info
, ref
, full_ref
, action
)
966 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref
,
968 run_delayed_tree_ref
,
970 btrfs_run_delayed_tree_ref
,
972 TP_PROTO(struct btrfs_fs_info
*fs_info
,
973 struct btrfs_delayed_ref_node
*ref
,
974 struct btrfs_delayed_tree_ref
*full_ref
,
977 TP_ARGS(fs_info
, ref
, full_ref
, action
)
979 #elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,92,0,0, 4,5,0,0,0,0))
980 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref
,
982 TP_PROTO(const struct btrfs_delayed_ref_node
*ref
,
983 const struct btrfs_delayed_tree_ref
*full_ref
,
986 TP_ARGS(ref
, full_ref
, action
),
989 ctf_integer(u64
, bytenr
, ref
->bytenr
)
990 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
991 ctf_integer(int, action
, action
)
992 ctf_integer(u64
, parent
, full_ref
->parent
)
993 ctf_integer(u64
, ref_root
, full_ref
->root
)
994 ctf_integer(int, level
, full_ref
->level
)
995 ctf_integer(int, type
, ref
->type
)
996 ctf_integer(u64
, seq
, ref
->seq
)
1000 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref
,
1002 add_delayed_tree_ref
,
1004 btrfs_add_delayed_tree_ref
,
1006 TP_PROTO(const struct btrfs_delayed_ref_node
*ref
,
1007 const struct btrfs_delayed_tree_ref
*full_ref
,
1010 TP_ARGS(ref
, full_ref
, action
)
1013 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref
,
1015 run_delayed_tree_ref
,
1017 btrfs_run_delayed_tree_ref
,
1019 TP_PROTO(const struct btrfs_delayed_ref_node
*ref
,
1020 const struct btrfs_delayed_tree_ref
*full_ref
,
1023 TP_ARGS(ref
, full_ref
, action
)
1026 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref
,
1028 TP_PROTO(struct btrfs_delayed_ref_node
*ref
,
1029 struct btrfs_delayed_tree_ref
*full_ref
,
1032 TP_ARGS(ref
, full_ref
, action
),
1035 ctf_integer(u64
, bytenr
, ref
->bytenr
)
1036 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
1037 ctf_integer(int, action
, action
)
1038 ctf_integer(u64
, parent
, full_ref
->parent
)
1039 ctf_integer(u64
, ref_root
, full_ref
->root
)
1040 ctf_integer(int, level
, full_ref
->level
)
1041 ctf_integer(int, type
, ref
->type
)
1042 ctf_integer(u64
, seq
, ref
->seq
)
1046 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref
,
1048 add_delayed_tree_ref
,
1050 btrfs_add_delayed_tree_ref
,
1052 TP_PROTO(struct btrfs_delayed_ref_node
*ref
,
1053 struct btrfs_delayed_tree_ref
*full_ref
,
1056 TP_ARGS(ref
, full_ref
, action
)
1059 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref
,
1061 run_delayed_tree_ref
,
1063 btrfs_run_delayed_tree_ref
,
1065 TP_PROTO(struct btrfs_delayed_ref_node
*ref
,
1066 struct btrfs_delayed_tree_ref
*full_ref
,
1069 TP_ARGS(ref
, full_ref
, action
)
1073 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
1074 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1075 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1076 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1077 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
1078 LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
1079 LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
1080 LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
1081 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref
,
1083 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
1084 const struct btrfs_delayed_ref_node
*ref
,
1085 const struct btrfs_delayed_data_ref
*full_ref
,
1088 TP_ARGS(fs_info
, ref
, full_ref
, action
),
1091 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1092 ctf_integer(u64
, bytenr
, ref
->bytenr
)
1093 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
1094 ctf_integer(int, action
, action
)
1095 ctf_integer(u64
, parent
, full_ref
->parent
)
1096 ctf_integer(u64
, ref_root
, full_ref
->root
)
1097 ctf_integer(u64
, owner
, full_ref
->objectid
)
1098 ctf_integer(u64
, offset
, full_ref
->offset
)
1099 ctf_integer(int, type
, ref
->type
)
1100 ctf_integer(u64
, seq
, ref
->seq
)
1104 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref
,
1106 add_delayed_data_ref
,
1108 btrfs_add_delayed_data_ref
,
1110 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
1111 const struct btrfs_delayed_ref_node
*ref
,
1112 const struct btrfs_delayed_data_ref
*full_ref
,
1115 TP_ARGS(fs_info
, ref
, full_ref
, action
)
1118 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref
,
1120 run_delayed_data_ref
,
1122 btrfs_run_delayed_data_ref
,
1124 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
1125 const struct btrfs_delayed_ref_node
*ref
,
1126 const struct btrfs_delayed_data_ref
*full_ref
,
1129 TP_ARGS(fs_info
, ref
, full_ref
, action
)
1131 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
1132 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref
,
1134 TP_PROTO(struct btrfs_fs_info
*fs_info
,
1135 struct btrfs_delayed_ref_node
*ref
,
1136 struct btrfs_delayed_data_ref
*full_ref
,
1139 TP_ARGS(fs_info
, ref
, full_ref
, action
),
1142 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1143 ctf_integer(u64
, bytenr
, ref
->bytenr
)
1144 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
1145 ctf_integer(int, action
, action
)
1146 ctf_integer(u64
, parent
, full_ref
->parent
)
1147 ctf_integer(u64
, ref_root
, full_ref
->root
)
1148 ctf_integer(u64
, owner
, full_ref
->objectid
)
1149 ctf_integer(u64
, offset
, full_ref
->offset
)
1150 ctf_integer(int, type
, ref
->type
)
1151 ctf_integer(u64
, seq
, ref
->seq
)
1155 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref
,
1157 add_delayed_data_ref
,
1159 btrfs_add_delayed_data_ref
,
1161 TP_PROTO(struct btrfs_fs_info
*fs_info
,
1162 struct btrfs_delayed_ref_node
*ref
,
1163 struct btrfs_delayed_data_ref
*full_ref
,
1166 TP_ARGS(fs_info
, ref
, full_ref
, action
)
1169 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref
,
1171 run_delayed_data_ref
,
1173 btrfs_run_delayed_data_ref
,
1175 TP_PROTO(struct btrfs_fs_info
*fs_info
,
1176 struct btrfs_delayed_ref_node
*ref
,
1177 struct btrfs_delayed_data_ref
*full_ref
,
1180 TP_ARGS(fs_info
, ref
, full_ref
, action
)
1182 #elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,92,0,0, 4,5,0,0,0,0))
1183 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref
,
1185 TP_PROTO(const struct btrfs_delayed_ref_node
*ref
,
1186 const struct btrfs_delayed_data_ref
*full_ref
,
1189 TP_ARGS(ref
, full_ref
, action
),
1192 ctf_integer(u64
, bytenr
, ref
->bytenr
)
1193 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
1194 ctf_integer(int, action
, action
)
1195 ctf_integer(u64
, parent
, full_ref
->parent
)
1196 ctf_integer(u64
, ref_root
, full_ref
->root
)
1197 ctf_integer(u64
, owner
, full_ref
->objectid
)
1198 ctf_integer(u64
, offset
, full_ref
->offset
)
1199 ctf_integer(int, type
, ref
->type
)
1200 ctf_integer(u64
, seq
, ref
->seq
)
1204 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref
,
1206 add_delayed_data_ref
,
1208 btrfs_add_delayed_data_ref
,
1210 TP_PROTO(const struct btrfs_delayed_ref_node
*ref
,
1211 const struct btrfs_delayed_data_ref
*full_ref
,
1214 TP_ARGS(fs_info
, ref
, full_ref
, action
)
1217 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref
,
1219 run_delayed_data_ref
,
1221 btrfs_run_delayed_data_ref
,
1223 TP_PROTO(const struct btrfs_delayed_ref_node
*ref
,
1224 const struct btrfs_delayed_data_ref
*full_ref
,
1227 TP_ARGS(fs_info
, ref
, full_ref
, action
)
1230 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref
,
1232 TP_PROTO(struct btrfs_delayed_ref_node
*ref
,
1233 struct btrfs_delayed_data_ref
*full_ref
,
1236 TP_ARGS(ref
, full_ref
, action
),
1239 ctf_integer(u64
, bytenr
, ref
->bytenr
)
1240 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
1241 ctf_integer(int, action
, action
)
1242 ctf_integer(u64
, parent
, full_ref
->parent
)
1243 ctf_integer(u64
, ref_root
, full_ref
->root
)
1244 ctf_integer(u64
, owner
, full_ref
->objectid
)
1245 ctf_integer(u64
, offset
, full_ref
->offset
)
1246 ctf_integer(int, type
, ref
->type
)
1247 ctf_integer(u64
, seq
, ref
->seq
)
1251 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref
,
1253 add_delayed_data_ref
,
1255 btrfs_add_delayed_data_ref
,
1257 TP_PROTO(struct btrfs_delayed_ref_node
*ref
,
1258 struct btrfs_delayed_data_ref
*full_ref
,
1261 TP_ARGS(fs_info
, ref
, full_ref
, action
)
1264 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref
,
1266 run_delayed_data_ref
,
1268 btrfs_run_delayed_data_ref
,
1270 TP_PROTO(struct btrfs_delayed_ref_node
*ref
,
1271 struct btrfs_delayed_data_ref
*full_ref
,
1274 TP_ARGS(fs_info
, ref
, full_ref
, action
)
1278 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,15,0))
1279 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head
,
1281 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
1282 const struct btrfs_delayed_ref_head
*head_ref
,
1285 TP_ARGS(fs_info
, head_ref
, action
),
1288 ctf_integer(u64
, bytenr
, head_ref
->bytenr
)
1289 ctf_integer(u64
, num_bytes
, head_ref
->num_bytes
)
1290 ctf_integer(int, action
, action
)
1291 ctf_integer(int, is_data
, head_ref
->is_data
)
1295 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head
,
1297 add_delayed_ref_head
,
1299 btrfs_add_delayed_ref_head
,
1301 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
1302 const struct btrfs_delayed_ref_head
*head_ref
,
1305 TP_ARGS(fs_info
, head_ref
, action
)
1308 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head
,
1310 run_delayed_ref_head
,
1312 btrfs_run_delayed_ref_head
,
1314 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
1315 const struct btrfs_delayed_ref_head
*head_ref
,
1318 TP_ARGS(fs_info
, head_ref
, action
)
1321 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
1322 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1323 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1324 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1325 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,4,103,7,0,0) || \
1326 LTTNG_SLE_KERNEL_RANGE(4,4,114,94,0,0, 4,4,114,95,0,0) || \
1327 LTTNG_SLE_KERNEL_RANGE(4,4,120,94,0,0, 4,4,120,95,0,0) || \
1328 LTTNG_SLE_KERNEL_RANGE(4,4,126,94,0,0, 4,5,0,0,0,0))
1330 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head
,
1332 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
1333 const struct btrfs_delayed_ref_node
*ref
,
1334 const struct btrfs_delayed_ref_head
*head_ref
,
1337 TP_ARGS(fs_info
, ref
, head_ref
, action
),
1340 ctf_integer(u64
, bytenr
, ref
->bytenr
)
1341 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
1342 ctf_integer(int, action
, action
)
1343 ctf_integer(int, is_data
, head_ref
->is_data
)
1347 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head
,
1349 add_delayed_ref_head
,
1351 btrfs_add_delayed_ref_head
,
1353 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
1354 const struct btrfs_delayed_ref_node
*ref
,
1355 const struct btrfs_delayed_ref_head
*head_ref
,
1358 TP_ARGS(fs_info
, ref
, head_ref
, action
)
1361 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head
,
1363 run_delayed_ref_head
,
1365 btrfs_run_delayed_ref_head
,
1367 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
1368 const struct btrfs_delayed_ref_node
*ref
,
1369 const struct btrfs_delayed_ref_head
*head_ref
,
1372 TP_ARGS(fs_info
, ref
, head_ref
, action
)
1375 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,8,0))
1376 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head
,
1378 TP_PROTO(struct btrfs_fs_info
*fs_info
,
1379 struct btrfs_delayed_ref_node
*ref
,
1380 struct btrfs_delayed_ref_head
*head_ref
,
1383 TP_ARGS(fs_info
, ref
, head_ref
, action
),
1386 ctf_integer(u64
, bytenr
, ref
->bytenr
)
1387 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
1388 ctf_integer(int, action
, action
)
1389 ctf_integer(int, is_data
, head_ref
->is_data
)
1393 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head
,
1395 add_delayed_ref_head
,
1397 btrfs_add_delayed_ref_head
,
1399 TP_PROTO(struct btrfs_fs_info
*fs_info
,
1400 struct btrfs_delayed_ref_node
*ref
,
1401 struct btrfs_delayed_ref_head
*head_ref
,
1404 TP_ARGS(fs_info
, ref
, head_ref
, action
)
1407 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head
,
1409 run_delayed_ref_head
,
1411 btrfs_run_delayed_ref_head
,
1413 TP_PROTO(struct btrfs_fs_info
*fs_info
,
1414 struct btrfs_delayed_ref_node
*ref
,
1415 struct btrfs_delayed_ref_head
*head_ref
,
1418 TP_ARGS(fs_info
, ref
, head_ref
, action
)
1421 #elif (LTTNG_SLE_KERNEL_RANGE(4,4,103,92,0,0, 4,5,0,0,0,0))
1422 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head
,
1424 TP_PROTO(const struct btrfs_delayed_ref_node
*ref
,
1425 const struct btrfs_delayed_ref_head
*head_ref
,
1428 TP_ARGS(ref
, head_ref
, action
),
1431 ctf_integer(u64
, bytenr
, ref
->bytenr
)
1432 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
1433 ctf_integer(int, action
, action
)
1434 ctf_integer(int, is_data
, head_ref
->is_data
)
1438 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head
,
1440 add_delayed_ref_head
,
1442 btrfs_add_delayed_ref_head
,
1444 TP_PROTO(const struct btrfs_delayed_ref_node
*ref
,
1445 const struct btrfs_delayed_ref_head
*head_ref
,
1448 TP_ARGS(ref
, head_ref
, action
)
1451 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head
,
1453 run_delayed_ref_head
,
1455 btrfs_run_delayed_ref_head
,
1457 TP_PROTO(const struct btrfs_delayed_ref_node
*ref
,
1458 const struct btrfs_delayed_ref_head
*head_ref
,
1461 TP_ARGS(ref
, head_ref
, action
)
1465 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head
,
1467 TP_PROTO(struct btrfs_delayed_ref_node
*ref
,
1468 struct btrfs_delayed_ref_head
*head_ref
,
1471 TP_ARGS(ref
, head_ref
, action
),
1474 ctf_integer(u64
, bytenr
, ref
->bytenr
)
1475 ctf_integer(u64
, num_bytes
, ref
->num_bytes
)
1476 ctf_integer(int, action
, action
)
1477 ctf_integer(int, is_data
, head_ref
->is_data
)
1481 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head
,
1483 add_delayed_ref_head
,
1485 btrfs_add_delayed_ref_head
,
1487 TP_PROTO(struct btrfs_delayed_ref_node
*ref
,
1488 struct btrfs_delayed_ref_head
*head_ref
,
1491 TP_ARGS(ref
, head_ref
, action
)
1494 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head
,
1496 run_delayed_ref_head
,
1498 btrfs_run_delayed_ref_head
,
1500 TP_PROTO(struct btrfs_delayed_ref_node
*ref
,
1501 struct btrfs_delayed_ref_head
*head_ref
,
1504 TP_ARGS(ref
, head_ref
, action
)
1508 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
1510 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk
,
1512 TP_PROTO(const struct btrfs_fs_info
*fs_info
, const struct map_lookup
*map
,
1513 u64 offset
, u64 size
),
1515 TP_ARGS(fs_info
, map
, offset
, size
),
1518 ctf_integer(int, num_stripes
, map
->num_stripes
)
1519 ctf_integer(u64
, type
, map
->type
)
1520 ctf_integer(int, sub_stripes
, map
->sub_stripes
)
1521 ctf_integer(u64
, offset
, offset
)
1522 ctf_integer(u64
, size
, size
)
1523 ctf_integer(u64
, root_objectid
, fs_info
->chunk_root
->root_key
.objectid
)
1527 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk
, btrfs_chunk_alloc
,
1529 TP_PROTO(const struct btrfs_fs_info
*fs_info
, const struct map_lookup
*map
,
1530 u64 offset
, u64 size
),
1532 TP_ARGS(fs_info
, map
, offset
, size
)
1535 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk
, btrfs_chunk_free
,
1537 TP_PROTO(const struct btrfs_fs_info
*fs_info
, const struct map_lookup
*map
,
1538 u64 offset
, u64 size
),
1540 TP_ARGS(fs_info
, map
, offset
, size
)
1543 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0))
1545 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk
,
1547 TP_PROTO(struct btrfs_fs_info
*fs_info
, struct map_lookup
*map
,
1548 u64 offset
, u64 size
),
1550 TP_ARGS(fs_info
, map
, offset
, size
),
1553 ctf_integer(int, num_stripes
, map
->num_stripes
)
1554 ctf_integer(u64
, type
, map
->type
)
1555 ctf_integer(int, sub_stripes
, map
->sub_stripes
)
1556 ctf_integer(u64
, offset
, offset
)
1557 ctf_integer(u64
, size
, size
)
1558 ctf_integer(u64
, root_objectid
, fs_info
->chunk_root
->root_key
.objectid
)
1562 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk
, btrfs_chunk_alloc
,
1564 TP_PROTO(struct btrfs_fs_info
*fs_info
, struct map_lookup
*map
,
1565 u64 offset
, u64 size
),
1567 TP_ARGS(fs_info
, map
, offset
, size
)
1570 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk
, btrfs_chunk_free
,
1572 TP_PROTO(struct btrfs_fs_info
*fs_info
, struct map_lookup
*map
,
1573 u64 offset
, u64 size
),
1575 TP_ARGS(fs_info
, map
, offset
, size
)
1578 #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1579 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1580 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1581 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1583 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk
,
1585 TP_PROTO(const struct btrfs_root
*root
, const struct map_lookup
*map
,
1586 u64 offset
, u64 size
),
1588 TP_ARGS(root
, map
, offset
, size
),
1591 ctf_integer(int, num_stripes
, map
->num_stripes
)
1592 ctf_integer(u64
, type
, map
->type
)
1593 ctf_integer(int, sub_stripes
, map
->sub_stripes
)
1594 ctf_integer(u64
, offset
, offset
)
1595 ctf_integer(u64
, size
, size
)
1596 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
1600 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk
, btrfs_chunk_alloc
,
1602 TP_PROTO(const struct btrfs_root
*root
, const struct map_lookup
*map
,
1603 u64 offset
, u64 size
),
1605 TP_ARGS(root
, map
, offset
, size
)
1608 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk
, btrfs_chunk_free
,
1610 TP_PROTO(const struct btrfs_root
*root
, const struct map_lookup
*map
,
1611 u64 offset
, u64 size
),
1613 TP_ARGS(root
, map
, offset
, size
)
1616 #else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
1618 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk
,
1620 TP_PROTO(struct btrfs_root
*root
, struct map_lookup
*map
,
1621 u64 offset
, u64 size
),
1623 TP_ARGS(root
, map
, offset
, size
),
1626 ctf_integer(int, num_stripes
, map
->num_stripes
)
1627 ctf_integer(u64
, type
, map
->type
)
1628 ctf_integer(int, sub_stripes
, map
->sub_stripes
)
1629 ctf_integer(u64
, offset
, offset
)
1630 ctf_integer(u64
, size
, size
)
1631 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
1635 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk
, btrfs_chunk_alloc
,
1637 TP_PROTO(struct btrfs_root
*root
, struct map_lookup
*map
,
1638 u64 offset
, u64 size
),
1640 TP_ARGS(root
, map
, offset
, size
)
1643 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk
, btrfs_chunk_free
,
1645 TP_PROTO(struct btrfs_root
*root
, struct map_lookup
*map
,
1646 u64 offset
, u64 size
),
1648 TP_ARGS(root
, map
, offset
, size
)
1651 #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
1653 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
1654 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1655 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1656 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1657 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1658 LTTNG_TRACEPOINT_EVENT(btrfs_cow_block
,
1660 TP_PROTO(const struct btrfs_root
*root
, const struct extent_buffer
*buf
,
1661 const struct extent_buffer
*cow
),
1663 TP_ARGS(root
, buf
, cow
),
1666 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
1667 ctf_integer(u64
, buf_start
, buf
->start
)
1668 ctf_integer(int, refs
, atomic_read(&buf
->refs
))
1669 ctf_integer(u64
, cow_start
, cow
->start
)
1670 ctf_integer(int, buf_level
, btrfs_header_level(buf
))
1671 ctf_integer(int, cow_level
, btrfs_header_level(cow
))
1675 LTTNG_TRACEPOINT_EVENT(btrfs_cow_block
,
1677 TP_PROTO(struct btrfs_root
*root
, struct extent_buffer
*buf
,
1678 struct extent_buffer
*cow
),
1680 TP_ARGS(root
, buf
, cow
),
1683 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
1684 ctf_integer(u64
, buf_start
, buf
->start
)
1685 ctf_integer(int, refs
, atomic_read(&buf
->refs
))
1686 ctf_integer(u64
, cow_start
, cow
->start
)
1687 ctf_integer(int, buf_level
, btrfs_header_level(buf
))
1688 ctf_integer(int, cow_level
, btrfs_header_level(cow
))
1693 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0))
1694 LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation
,
1696 TP_PROTO(const struct btrfs_fs_info
*fs_info
, const char *type
, u64 val
,
1697 u64 bytes
, int reserve
),
1699 TP_ARGS(fs_info
, type
, val
, bytes
, reserve
),
1702 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1703 ctf_string(type
, type
)
1704 ctf_integer(u64
, val
, val
)
1705 ctf_integer(u64
, bytes
, bytes
)
1706 ctf_integer(int, reserve
, reserve
)
1709 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
1710 LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1711 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1712 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1713 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1714 LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation
,
1716 TP_PROTO(const struct btrfs_fs_info
*fs_info
, char *type
, u64 val
,
1717 u64 bytes
, int reserve
),
1719 TP_ARGS(fs_info
, type
, val
, bytes
, reserve
),
1722 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1723 ctf_string(type
, type
)
1724 ctf_integer(u64
, val
, val
)
1725 ctf_integer(u64
, bytes
, bytes
)
1726 ctf_integer(int, reserve
, reserve
)
1730 LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation
,
1732 TP_PROTO(struct btrfs_fs_info
*fs_info
, char *type
, u64 val
,
1733 u64 bytes
, int reserve
),
1735 TP_ARGS(fs_info
, type
, val
, bytes
, reserve
),
1738 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1739 ctf_string(type
, type
)
1740 ctf_integer(u64
, val
, val
)
1741 ctf_integer(u64
, bytes
, bytes
)
1742 ctf_integer(int, reserve
, reserve
)
1747 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
1749 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent
,
1751 TP_PROTO(const struct btrfs_fs_info
*fs_info
, u64 start
, u64 len
),
1753 TP_ARGS(fs_info
, start
, len
),
1756 ctf_integer(u64
, start
, start
)
1757 ctf_integer(u64
, len
, len
)
1761 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent
, btrfs_reserved_extent_alloc
,
1763 TP_PROTO(const struct btrfs_fs_info
*fs_info
, u64 start
, u64 len
),
1765 TP_ARGS(fs_info
, start
, len
)
1768 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent
, btrfs_reserved_extent_free
,
1770 TP_PROTO(const struct btrfs_fs_info
*fs_info
, u64 start
, u64 len
),
1772 TP_ARGS(fs_info
, start
, len
)
1775 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0))
1777 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent
,
1779 TP_PROTO(struct btrfs_fs_info
*fs_info
, u64 start
, u64 len
),
1781 TP_ARGS(fs_info
, start
, len
),
1784 ctf_integer(u64
, start
, start
)
1785 ctf_integer(u64
, len
, len
)
1789 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent
, btrfs_reserved_extent_alloc
,
1791 TP_PROTO(struct btrfs_fs_info
*fs_info
, u64 start
, u64 len
),
1793 TP_ARGS(fs_info
, start
, len
)
1796 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent
, btrfs_reserved_extent_free
,
1798 TP_PROTO(struct btrfs_fs_info
*fs_info
, u64 start
, u64 len
),
1800 TP_ARGS(fs_info
, start
, len
)
1803 #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1804 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1805 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1806 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1808 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent
,
1810 TP_PROTO(const struct btrfs_root
*root
, u64 start
, u64 len
),
1812 TP_ARGS(root
, start
, len
),
1815 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
1816 ctf_integer(u64
, start
, start
)
1817 ctf_integer(u64
, len
, len
)
1821 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent
, btrfs_reserved_extent_alloc
,
1823 TP_PROTO(const struct btrfs_root
*root
, u64 start
, u64 len
),
1825 TP_ARGS(root
, start
, len
)
1828 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent
, btrfs_reserved_extent_free
,
1830 TP_PROTO(const struct btrfs_root
*root
, u64 start
, u64 len
),
1832 TP_ARGS(root
, start
, len
)
1835 #else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
1837 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent
,
1839 TP_PROTO(struct btrfs_root
*root
, u64 start
, u64 len
),
1841 TP_ARGS(root
, start
, len
),
1844 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
1845 ctf_integer(u64
, start
, start
)
1846 ctf_integer(u64
, len
, len
)
1850 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent
, btrfs_reserved_extent_alloc
,
1852 TP_PROTO(struct btrfs_root
*root
, u64 start
, u64 len
),
1854 TP_ARGS(root
, start
, len
)
1857 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent
, btrfs_reserved_extent_free
,
1859 TP_PROTO(struct btrfs_root
*root
, u64 start
, u64 len
),
1861 TP_ARGS(root
, start
, len
)
1864 #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
1866 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0))
1867 LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent
,
1869 btrfs_find_free_extent
,
1871 TP_PROTO(const struct btrfs_root
*root
,
1872 const struct find_free_extent_ctl
*ffe_ctl
),
1874 TP_ARGS(root
, ffe_ctl
),
1877 ctf_array(u8
, fsid
, root
->lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1878 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
1879 ctf_integer(u64
, num_bytes
, ffe_ctl
->num_bytes
)
1880 ctf_integer(u64
, empty_size
, ffe_ctl
->empty_size
)
1881 ctf_integer(u64
, flags
, ffe_ctl
->flags
)
1885 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0) || \
1886 LTTNG_KERNEL_RANGE(5,9,5, 5,10,0) || \
1887 LTTNG_KERNEL_RANGE(5,4,78, 5,5,0) || \
1888 LTTNG_UBUNTU_KERNEL_RANGE(5,8,18,44, 5,9,0,0))
1889 LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent
,
1891 btrfs_find_free_extent
,
1893 TP_PROTO(const struct btrfs_root
*root
, u64 num_bytes
, u64 empty_size
,
1896 TP_ARGS(root
, num_bytes
, empty_size
, data
),
1899 ctf_array(u8
, fsid
, root
->lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1900 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
1901 ctf_integer(u64
, num_bytes
, num_bytes
)
1902 ctf_integer(u64
, empty_size
, empty_size
)
1903 ctf_integer(u64
, data
, data
)
1907 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0))
1909 LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent
,
1911 btrfs_find_free_extent
,
1913 TP_PROTO(const struct btrfs_fs_info
*fs_info
, u64 num_bytes
, u64 empty_size
,
1916 TP_ARGS(fs_info
, num_bytes
, empty_size
, data
),
1919 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1920 ctf_integer(u64
, num_bytes
, num_bytes
)
1921 ctf_integer(u64
, empty_size
, empty_size
)
1922 ctf_integer(u64
, data
, data
)
1926 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,18,0))
1928 LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent
,
1930 btrfs_find_free_extent
,
1932 TP_PROTO(const struct btrfs_fs_info
*fs_info
, u64 num_bytes
, u64 empty_size
,
1935 TP_ARGS(fs_info
, num_bytes
, empty_size
, data
),
1938 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1939 ctf_integer(u64
, num_bytes
, num_bytes
)
1940 ctf_integer(u64
, empty_size
, empty_size
)
1941 ctf_integer(u64
, data
, data
)
1945 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
1947 LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent
,
1949 btrfs_find_free_extent
,
1951 TP_PROTO(const struct btrfs_fs_info
*fs_info
, u64 num_bytes
, u64 empty_size
,
1954 TP_ARGS(fs_info
, num_bytes
, empty_size
, data
),
1957 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1958 ctf_integer(u64
, num_bytes
, num_bytes
)
1959 ctf_integer(u64
, empty_size
, empty_size
)
1960 ctf_integer(u64
, data
, data
)
1964 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0))
1966 LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent
,
1968 btrfs_find_free_extent
,
1970 TP_PROTO(struct btrfs_fs_info
*fs_info
, u64 num_bytes
, u64 empty_size
,
1973 TP_ARGS(fs_info
, num_bytes
, empty_size
, data
),
1976 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
1977 ctf_integer(u64
, num_bytes
, num_bytes
)
1978 ctf_integer(u64
, empty_size
, empty_size
)
1979 ctf_integer(u64
, data
, data
)
1983 #elif (LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,73,6,0,0) || \
1984 LTTNG_SLE_KERNEL_RANGE(4,4,82,6,0,0, 4,4,82,7,0,0) || \
1985 LTTNG_SLE_KERNEL_RANGE(4,4,92,6,0,0, 4,4,92,7,0,0) || \
1986 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
1988 LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent
,
1990 btrfs_find_free_extent
,
1992 TP_PROTO(const struct btrfs_root
*root
, u64 num_bytes
, u64 empty_size
,
1995 TP_ARGS(root
, num_bytes
, empty_size
, data
),
1998 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
1999 ctf_integer(u64
, num_bytes
, num_bytes
)
2000 ctf_integer(u64
, empty_size
, empty_size
)
2001 ctf_integer(u64
, data
, data
)
2006 LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent
,
2008 btrfs_find_free_extent
,
2010 TP_PROTO(struct btrfs_root
*root
, u64 num_bytes
, u64 empty_size
,
2013 TP_ARGS(root
, num_bytes
, empty_size
, data
),
2016 ctf_integer(u64
, root_objectid
, root
->root_key
.objectid
)
2017 ctf_integer(u64
, num_bytes
, num_bytes
)
2018 ctf_integer(u64
, empty_size
, empty_size
)
2019 ctf_integer(u64
, data
, data
)
2024 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,3,0))
2025 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent
,
2027 TP_PROTO(const struct btrfs_block_group
*block_group
,
2028 const struct find_free_extent_ctl
*ffe_ctl
),
2030 TP_ARGS(block_group
, ffe_ctl
),
2033 ctf_array(u8
, fsid
, block_group
->lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
2034 ctf_integer(u64
, bg_objectid
, block_group
->start
)
2035 ctf_integer(u64
, flags
, block_group
->flags
)
2036 ctf_integer(u64
, start
, ffe_ctl
->search_start
)
2037 ctf_integer(u64
, len
, ffe_ctl
->num_bytes
)
2041 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent
,
2043 TP_PROTO(const struct btrfs_block_group
*block_group
,
2044 const struct find_free_extent_ctl
*ffe_ctl
),
2046 TP_ARGS(block_group
, ffe_ctl
)
2049 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent_cluster
,
2051 TP_PROTO(const struct btrfs_block_group
*block_group
,
2052 const struct find_free_extent_ctl
*ffe_ctl
),
2054 TP_ARGS(block_group
, ffe_ctl
)
2057 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0))
2058 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent
,
2060 TP_PROTO(const struct btrfs_block_group
*block_group
, u64 start
,
2063 TP_ARGS(block_group
, start
, len
),
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
)
2074 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent
,
2076 TP_PROTO(const struct btrfs_block_group
*block_group
, u64 start
,
2079 TP_ARGS(block_group
, start
, len
)
2082 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent_cluster
,
2084 TP_PROTO(const struct btrfs_block_group
*block_group
, u64 start
,
2087 TP_ARGS(block_group
, start
, len
)
2090 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,18,0))
2092 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent
,
2094 TP_PROTO(const struct btrfs_block_group_cache
*block_group
, u64 start
,
2097 TP_ARGS(block_group
, start
, len
),
2100 ctf_array(u8
, fsid
, block_group
->lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
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
)
2108 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent
,
2110 TP_PROTO(const struct btrfs_block_group_cache
*block_group
, u64 start
,
2113 TP_ARGS(block_group
, start
, len
)
2116 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent_cluster
,
2118 TP_PROTO(const struct btrfs_block_group_cache
*block_group
, u64 start
,
2121 TP_ARGS(block_group
, start
, len
)
2124 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0))
2126 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent
,
2128 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
2129 const struct btrfs_block_group_cache
*block_group
, u64 start
,
2132 TP_ARGS(fs_info
, block_group
, start
, len
),
2135 ctf_array(u8
, fsid
, lttng_fs_info_fsid
, BTRFS_UUID_SIZE
)
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
)
2143 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent
,
2145 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
2146 const struct btrfs_block_group_cache
*block_group
, u64 start
,
2149 TP_ARGS(fs_info
, block_group
, start
, len
)
2152 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent_cluster
,
2154 TP_PROTO(const struct btrfs_fs_info
*fs_info
,
2155 const struct btrfs_block_group_cache
*block_group
, u64 start
,
2158 TP_ARGS(fs_info
, block_group
, start
, len
)
2161 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0))
2163 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent
,
2165 TP_PROTO(struct btrfs_fs_info
*fs_info
,
2166 struct btrfs_block_group_cache
*block_group
, u64 start
,
2169 TP_ARGS(fs_info
, block_group
, start
, len
),
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
)
2179 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent
,
2181 TP_PROTO(struct btrfs_fs_info
*fs_info
,
2182 struct btrfs_block_group_cache
*block_group
, u64 start
,
2185 TP_ARGS(fs_info
, block_group
, start
, len
)
2188 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent_cluster
,
2190 TP_PROTO(struct btrfs_fs_info
*fs_info
,
2191 struct btrfs_block_group_cache
*block_group
, u64 start
,
2194 TP_ARGS(fs_info
, block_group
, start
, len
)
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))
2201 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent
,
2203 TP_PROTO(const struct btrfs_root
*root
,
2204 const struct btrfs_block_group_cache
*block_group
, u64 start
,
2207 TP_ARGS(root
, block_group
, start
, len
),
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
)
2218 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent
,
2220 TP_PROTO(const struct btrfs_root
*root
,
2221 const struct btrfs_block_group_cache
*block_group
, u64 start
,
2224 TP_ARGS(root
, block_group
, start
, len
)
2227 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent_cluster
,
2229 TP_PROTO(const struct btrfs_root
*root
,
2230 const struct btrfs_block_group_cache
*block_group
, u64 start
,
2233 TP_ARGS(root
, block_group
, start
, len
)
2238 LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent
,
2240 TP_PROTO(struct btrfs_root
*root
,
2241 struct btrfs_block_group_cache
*block_group
, u64 start
,
2244 TP_ARGS(root
, block_group
, start
, len
),
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
)
2255 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent
,
2257 TP_PROTO(struct btrfs_root
*root
,
2258 struct btrfs_block_group_cache
*block_group
, u64 start
,
2261 TP_ARGS(root
, block_group
, start
, len
)
2264 LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent
, btrfs_reserve_extent_cluster
,
2266 TP_PROTO(struct btrfs_root
*root
,
2267 struct btrfs_block_group_cache
*block_group
, u64 start
,
2270 TP_ARGS(root
, block_group
, start
, len
)
2273 #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
2275 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,5,0))
2276 LTTNG_TRACEPOINT_EVENT(btrfs_find_cluster
,
2278 TP_PROTO(const struct btrfs_block_group
*block_group
, u64 start
,
2279 u64 bytes
, u64 empty_size
, u64 min_bytes
),
2281 TP_ARGS(block_group
, start
, bytes
, empty_size
, min_bytes
),
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
)
2293 LTTNG_TRACEPOINT_EVENT(btrfs_failed_cluster_setup
,
2295 TP_PROTO(const struct btrfs_block_group
*block_group
),
2297 TP_ARGS(block_group
),
2300 ctf_integer(u64
, bg_objectid
, block_group
->start
)
2304 LTTNG_TRACEPOINT_EVENT(btrfs_setup_cluster
,
2306 TP_PROTO(const struct btrfs_block_group
*block_group
,
2307 const struct btrfs_free_cluster
*cluster
, u64 size
, int bitmap
),
2309 TP_ARGS(block_group
, cluster
, size
, bitmap
),
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
)
2320 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
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) || \
2324 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
2325 LTTNG_TRACEPOINT_EVENT(btrfs_find_cluster
,
2327 TP_PROTO(const struct btrfs_block_group_cache
*block_group
, u64 start
,
2328 u64 bytes
, u64 empty_size
, u64 min_bytes
),
2330 TP_ARGS(block_group
, start
, bytes
, empty_size
, min_bytes
),
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
)
2342 LTTNG_TRACEPOINT_EVENT(btrfs_failed_cluster_setup
,
2344 TP_PROTO(const struct btrfs_block_group_cache
*block_group
),
2346 TP_ARGS(block_group
),
2349 ctf_integer(u64
, bg_objectid
, block_group
->key
.objectid
)
2353 LTTNG_TRACEPOINT_EVENT(btrfs_setup_cluster
,
2355 TP_PROTO(const struct btrfs_block_group_cache
*block_group
,
2356 const struct btrfs_free_cluster
*cluster
, u64 size
, int bitmap
),
2358 TP_ARGS(block_group
, cluster
, size
, bitmap
),
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
)
2370 LTTNG_TRACEPOINT_EVENT(btrfs_find_cluster
,
2372 TP_PROTO(struct btrfs_block_group_cache
*block_group
, u64 start
,
2373 u64 bytes
, u64 empty_size
, u64 min_bytes
),
2375 TP_ARGS(block_group
, start
, bytes
, empty_size
, min_bytes
),
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
)
2387 LTTNG_TRACEPOINT_EVENT(btrfs_failed_cluster_setup
,
2389 TP_PROTO(struct btrfs_block_group_cache
*block_group
),
2391 TP_ARGS(block_group
),
2394 ctf_integer(u64
, bg_objectid
, block_group
->key
.objectid
)
2398 LTTNG_TRACEPOINT_EVENT(btrfs_setup_cluster
,
2400 TP_PROTO(struct btrfs_block_group_cache
*block_group
,
2401 struct btrfs_free_cluster
*cluster
, u64 size
, int bitmap
),
2403 TP_ARGS(block_group
, cluster
, size
, bitmap
),
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
)
2416 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,14,0) || \
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) || \
2420 LTTNG_SLE_KERNEL_RANGE(4,4,103,6,0,0, 4,5,0,0,0,0))
2421 LTTNG_TRACEPOINT_EVENT_MAP(alloc_extent_state
,
2423 btrfs_alloc_extent_state
,
2425 TP_PROTO(const struct extent_state
*state
, gfp_t mask
, unsigned long IP
),
2427 TP_ARGS(state
, mask
, IP
),
2430 ctf_integer_hex(const struct extent_state
*, state
, state
)
2431 ctf_integer(gfp_t
, mask
, mask
)
2432 ctf_integer_hex(unsigned long, ip
, IP
)
2436 LTTNG_TRACEPOINT_EVENT_MAP(free_extent_state
,
2438 btrfs_free_extent_state
,
2440 TP_PROTO(const struct extent_state
*state
, unsigned long IP
),
2445 ctf_integer_hex(const struct extent_state
*, state
, state
)
2446 ctf_integer_hex(unsigned long, ip
, IP
)
2450 LTTNG_TRACEPOINT_EVENT_MAP(alloc_extent_state
,
2452 btrfs_alloc_extent_state
,
2454 TP_PROTO(struct extent_state
*state
, gfp_t mask
, unsigned long IP
),
2456 TP_ARGS(state
, mask
, IP
),
2459 ctf_integer_hex(struct extent_state
*, state
, state
)
2460 ctf_integer(gfp_t
, mask
, mask
)
2461 ctf_integer_hex(unsigned long, ip
, IP
)
2465 LTTNG_TRACEPOINT_EVENT_MAP(free_extent_state
,
2467 btrfs_free_extent_state
,
2469 TP_PROTO(struct extent_state
*state
, unsigned long IP
),
2474 ctf_integer_hex(struct extent_state
*, state
, state
)
2475 ctf_integer_hex(unsigned long, ip
, IP
)
2480 #endif /* LTTNG_TRACE_BTRFS_H */
2482 /* This part must be outside protection */
2483 #include <lttng/define_trace.h>