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