Commit | Line | Data |
---|---|---|
b7cdc182 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
b87700e3 AG |
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM btrfs | |
4 | ||
3bc29f0a MD |
5 | #if !defined(LTTNG_TRACE_BTRFS_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define LTTNG_TRACE_BTRFS_H | |
b87700e3 | 7 | |
b5304713 | 8 | #include <lttng/lttng-tracepoint-event.h> |
b87700e3 | 9 | #include <linux/writeback.h> |
b87700e3 AG |
10 | |
11 | #ifndef _TRACE_BTRFS_DEF_ | |
12 | #define _TRACE_BTRFS_DEF_ | |
13 | struct btrfs_root; | |
14 | struct btrfs_fs_info; | |
15 | struct btrfs_inode; | |
16 | struct extent_map; | |
17 | struct btrfs_ordered_extent; | |
18 | struct btrfs_delayed_ref_node; | |
19 | struct btrfs_delayed_tree_ref; | |
20 | struct btrfs_delayed_data_ref; | |
21 | struct btrfs_delayed_ref_head; | |
5809d816 | 22 | struct btrfs_block_group; |
b87700e3 | 23 | struct btrfs_free_cluster; |
b87700e3 AG |
24 | struct map_lookup; |
25 | struct extent_buffer; | |
b87700e3 AG |
26 | struct extent_state; |
27 | #endif | |
b87700e3 | 28 | |
b87700e3 AG |
29 | #define BTRFS_UUID_SIZE 16 |
30 | ||
9d2f1147 | 31 | #define lttng_fs_info_fsid fs_info->fs_devices->fsid |
9d2f1147 | 32 | |
1f1ec4ed MJ |
33 | LTTNG_TRACEPOINT_EVENT(btrfs_transaction_commit, |
34 | ||
35 | TP_PROTO(const struct btrfs_root *root), | |
36 | ||
37 | TP_ARGS(root), | |
38 | ||
39 | TP_FIELDS( | |
40 | ctf_integer(u64, generation, root->fs_info->generation) | |
41 | ctf_integer(u64, root_objectid, root->root_key.objectid) | |
42 | ) | |
43 | ) | |
44 | ||
45 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__inode, | |
46 | ||
47 | TP_PROTO(const struct inode *inode), | |
48 | ||
49 | TP_ARGS(inode), | |
50 | ||
51 | TP_FIELDS( | |
52 | ctf_integer(ino_t, ino, inode->i_ino) | |
53 | ctf_integer(blkcnt_t, blocks, inode->i_blocks) | |
54 | ctf_integer(u64, disk_i_size, BTRFS_I(inode)->disk_i_size) | |
55 | ctf_integer(u64, generation, BTRFS_I(inode)->generation) | |
56 | ctf_integer(u64, last_trans, BTRFS_I(inode)->last_trans) | |
57 | ctf_integer(u64, logged_trans, BTRFS_I(inode)->logged_trans) | |
58 | ctf_integer(u64, root_objectid, | |
59 | BTRFS_I(inode)->root->root_key.objectid) | |
60 | ) | |
61 | ) | |
62 | ||
63 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_new, | |
64 | ||
65 | TP_PROTO(const struct inode *inode), | |
66 | ||
67 | TP_ARGS(inode) | |
68 | ) | |
69 | ||
70 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_request, | |
71 | ||
72 | TP_PROTO(const struct inode *inode), | |
73 | ||
74 | TP_ARGS(inode) | |
75 | ) | |
76 | ||
77 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__inode, btrfs_inode_evict, | |
78 | ||
79 | TP_PROTO(const struct inode *inode), | |
80 | ||
81 | TP_ARGS(inode) | |
82 | ) | |
1f1ec4ed MJ |
83 | |
84 | LTTNG_TRACEPOINT_EVENT(btrfs_get_extent, | |
85 | ||
86 | TP_PROTO(const struct btrfs_root *root, const struct btrfs_inode *inode, | |
87 | const struct extent_map *map), | |
88 | ||
89 | TP_ARGS(root, inode, map), | |
90 | ||
91 | TP_FIELDS( | |
92 | ctf_integer(u64, root_objectid, root->root_key.objectid) | |
93 | ctf_integer(u64, ino, btrfs_ino(inode)) | |
94 | ctf_integer(u64, start, map->start) | |
95 | ctf_integer(u64, len, map->len) | |
96 | ctf_integer(u64, orig_start, map->orig_start) | |
97 | ctf_integer(u64, block_start, map->block_start) | |
98 | ctf_integer(u64, block_len, map->block_len) | |
99 | ctf_integer(unsigned long, flags, map->flags) | |
100 | ctf_integer(int, refs, refcount_read(&map->refs)) | |
101 | ctf_integer(unsigned int, compress_type, map->compress_type) | |
102 | ) | |
103 | ) | |
b87700e3 | 104 | |
ae5af8ea MJ |
105 | LTTNG_TRACEPOINT_EVENT(btrfs_handle_em_exist, |
106 | ||
107 | TP_PROTO(const struct btrfs_fs_info *fs_info, | |
108 | const struct extent_map *existing, const struct extent_map *map, | |
109 | u64 start, u64 len), | |
110 | ||
111 | TP_ARGS(fs_info, existing, map, start, len), | |
112 | ||
113 | TP_FIELDS( | |
114 | ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) | |
115 | ctf_integer(u64, e_start, existing->start) | |
116 | ctf_integer(u64, e_len, existing->len) | |
117 | ctf_integer(u64, map_start, map->start) | |
118 | ctf_integer(u64, map_len, map->len) | |
119 | ctf_integer(u64, start, start) | |
120 | ctf_integer(u64, len, len) | |
121 | ) | |
122 | ) | |
22df20ca | 123 | |
f7afb954 MJ |
124 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__ordered_extent, |
125 | ||
126 | TP_PROTO(const struct inode *inode, | |
127 | const struct btrfs_ordered_extent *ordered), | |
128 | ||
129 | TP_ARGS(inode, ordered), | |
130 | ||
131 | TP_FIELDS( | |
132 | ctf_integer(ino_t, ino, inode->i_ino) | |
133 | ctf_integer(u64, file_offset, ordered->file_offset) | |
134 | ctf_integer(u64, start, ordered->disk_bytenr) | |
135 | ctf_integer(u64, len, ordered->num_bytes) | |
136 | ctf_integer(u64, disk_len, ordered->disk_num_bytes) | |
137 | ctf_integer(u64, bytes_left, ordered->bytes_left) | |
138 | ctf_integer(unsigned long, flags, ordered->flags) | |
139 | ctf_integer(int, compress_type, ordered->compress_type) | |
140 | ctf_integer(int, refs, refcount_read(&ordered->refs)) | |
141 | ctf_integer(u64, root_objectid, | |
142 | BTRFS_I(inode)->root->root_key.objectid) | |
143 | ) | |
144 | ) | |
b87700e3 | 145 | |
1f1ec4ed MJ |
146 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_add, |
147 | ||
148 | TP_PROTO(const struct inode *inode, | |
149 | const struct btrfs_ordered_extent *ordered), | |
150 | ||
151 | TP_ARGS(inode, ordered) | |
152 | ) | |
153 | ||
154 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_remove, | |
155 | ||
156 | TP_PROTO(const struct inode *inode, | |
157 | const struct btrfs_ordered_extent *ordered), | |
158 | ||
159 | TP_ARGS(inode, ordered) | |
160 | ) | |
161 | ||
162 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_start, | |
163 | ||
164 | TP_PROTO(const struct inode *inode, | |
165 | const struct btrfs_ordered_extent *ordered), | |
166 | ||
167 | TP_ARGS(inode, ordered) | |
168 | ) | |
169 | ||
170 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__ordered_extent, btrfs_ordered_extent_put, | |
171 | ||
172 | TP_PROTO(const struct inode *inode, | |
173 | const struct btrfs_ordered_extent *ordered), | |
174 | ||
175 | TP_ARGS(inode, ordered) | |
176 | ) | |
177 | ||
178 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__writepage, | |
179 | ||
180 | TP_PROTO(const struct page *page, const struct inode *inode, | |
181 | const struct writeback_control *wbc), | |
182 | ||
183 | TP_ARGS(page, inode, wbc), | |
184 | ||
185 | TP_FIELDS( | |
186 | ctf_integer(ino_t, ino, inode->i_ino) | |
187 | ctf_integer(pgoff_t, index, page->index) | |
188 | ctf_integer(long, nr_to_write, wbc->nr_to_write) | |
189 | ctf_integer(long, pages_skipped, wbc->pages_skipped) | |
190 | ctf_integer(loff_t, range_start, wbc->range_start) | |
191 | ctf_integer(loff_t, range_end, wbc->range_end) | |
192 | ctf_integer(char, for_kupdate, wbc->for_kupdate) | |
193 | ctf_integer(char, for_reclaim, wbc->for_reclaim) | |
194 | ctf_integer(char, range_cyclic, wbc->range_cyclic) | |
195 | ctf_integer(pgoff_t, writeback_index, | |
196 | inode->i_mapping->writeback_index) | |
197 | ctf_integer(u64, root_objectid, | |
198 | BTRFS_I(inode)->root->root_key.objectid) | |
199 | ) | |
200 | ) | |
201 | ||
202 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs__writepage, | |
203 | ||
204 | __extent_writepage, | |
205 | ||
206 | btrfs__extent_writepage, | |
207 | ||
208 | TP_PROTO(const struct page *page, const struct inode *inode, | |
209 | const struct writeback_control *wbc), | |
210 | ||
211 | TP_ARGS(page, inode, wbc) | |
212 | ) | |
213 | ||
214 | LTTNG_TRACEPOINT_EVENT(btrfs_writepage_end_io_hook, | |
215 | ||
216 | TP_PROTO(const struct page *page, u64 start, u64 end, int uptodate), | |
217 | ||
218 | TP_ARGS(page, start, end, uptodate), | |
219 | ||
220 | TP_FIELDS( | |
221 | ctf_integer(ino_t, ino, page->mapping->host->i_ino) | |
222 | ctf_integer(pgoff_t, index, page->index) | |
223 | ctf_integer(u64, start, start) | |
224 | ctf_integer(u64, end, end) | |
225 | ctf_integer(int, uptodate, uptodate) | |
226 | ctf_integer(u64, root_objectid, | |
227 | BTRFS_I(page->mapping->host)->root->root_key.objectid) | |
228 | ) | |
229 | ) | |
230 | ||
231 | LTTNG_TRACEPOINT_EVENT(btrfs_sync_file, | |
232 | ||
233 | TP_PROTO(const struct file *file, int datasync), | |
234 | ||
235 | TP_ARGS(file, datasync), | |
236 | ||
237 | TP_FIELDS( | |
238 | ctf_integer(ino_t, ino, file->f_path.dentry->d_inode->i_ino) | |
239 | ctf_integer(ino_t, parent, file->f_path.dentry->d_parent->d_inode->i_ino) | |
240 | ctf_integer(int, datasync, datasync) | |
241 | ctf_integer(u64, root_objectid, | |
242 | BTRFS_I(file->f_path.dentry->d_inode)->root->root_key.objectid) | |
243 | ) | |
244 | ) | |
b87700e3 | 245 | |
d8147755 | 246 | LTTNG_TRACEPOINT_EVENT(btrfs_sync_fs, |
b87700e3 | 247 | |
d8147755 | 248 | TP_PROTO(const struct btrfs_fs_info *fs_info, int wait), |
b87700e3 | 249 | |
d8147755 | 250 | TP_ARGS(fs_info, wait), |
b87700e3 | 251 | |
d8147755 MD |
252 | TP_FIELDS( |
253 | ctf_integer(int, wait, wait) | |
254 | ) | |
b87700e3 AG |
255 | ) |
256 | ||
d8147755 | 257 | LTTNG_TRACEPOINT_EVENT(btrfs_add_block_group, |
b87700e3 | 258 | |
d8147755 MD |
259 | TP_PROTO(const struct btrfs_fs_info *fs_info, |
260 | const struct btrfs_block_group *block_group, int create), | |
5809d816 MJ |
261 | |
262 | TP_ARGS(fs_info, block_group, create), | |
263 | ||
264 | TP_FIELDS( | |
265 | ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) | |
266 | ctf_integer(u64, offset, block_group->start) | |
267 | ctf_integer(u64, size, block_group->length) | |
268 | ctf_integer(u64, flags, block_group->flags) | |
269 | ctf_integer(u64, bytes_used, block_group->used) | |
270 | ctf_integer(u64, bytes_super, block_group->bytes_super) | |
271 | ctf_integer(int, create, create) | |
272 | ) | |
273 | ) | |
fcd0a11c | 274 | |
fde8b34a | 275 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_tree_ref, |
1f1ec4ed MJ |
276 | |
277 | TP_PROTO(const struct btrfs_fs_info *fs_info, | |
278 | const struct btrfs_delayed_ref_node *ref, | |
279 | const struct btrfs_delayed_tree_ref *full_ref, | |
280 | int action), | |
281 | ||
282 | TP_ARGS(fs_info, ref, full_ref, action), | |
283 | ||
284 | TP_FIELDS( | |
9d2f1147 | 285 | ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) |
1f1ec4ed MJ |
286 | ctf_integer(u64, bytenr, ref->bytenr) |
287 | ctf_integer(u64, num_bytes, ref->num_bytes) | |
288 | ctf_integer(int, action, action) | |
289 | ctf_integer(u64, parent, full_ref->parent) | |
290 | ctf_integer(u64, ref_root, full_ref->root) | |
291 | ctf_integer(int, level, full_ref->level) | |
292 | ctf_integer(int, type, ref->type) | |
293 | ctf_integer(u64, seq, ref->seq) | |
294 | ) | |
295 | ) | |
fde8b34a | 296 | |
426eff93 MD |
297 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref, |
298 | ||
299 | add_delayed_tree_ref, | |
300 | ||
301 | btrfs_add_delayed_tree_ref, | |
fde8b34a MJ |
302 | |
303 | TP_PROTO(const struct btrfs_fs_info *fs_info, | |
304 | const struct btrfs_delayed_ref_node *ref, | |
305 | const struct btrfs_delayed_tree_ref *full_ref, | |
306 | int action), | |
307 | ||
308 | TP_ARGS(fs_info, ref, full_ref, action) | |
309 | ) | |
310 | ||
426eff93 MD |
311 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_tree_ref, |
312 | ||
313 | run_delayed_tree_ref, | |
314 | ||
315 | btrfs_run_delayed_tree_ref, | |
fde8b34a MJ |
316 | |
317 | TP_PROTO(const struct btrfs_fs_info *fs_info, | |
318 | const struct btrfs_delayed_ref_node *ref, | |
319 | const struct btrfs_delayed_tree_ref *full_ref, | |
320 | int action), | |
321 | ||
322 | TP_ARGS(fs_info, ref, full_ref, action) | |
323 | ) | |
fcd0a11c | 324 | |
d8147755 MD |
325 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_data_ref, |
326 | ||
327 | TP_PROTO(const struct btrfs_fs_info *fs_info, | |
328 | const struct btrfs_delayed_ref_node *ref, | |
329 | const struct btrfs_delayed_data_ref *full_ref, | |
fcd0a11c MD |
330 | int action), |
331 | ||
332 | TP_ARGS(fs_info, ref, full_ref, action), | |
333 | ||
334 | TP_FIELDS( | |
9d2f1147 | 335 | ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) |
fcd0a11c MD |
336 | ctf_integer(u64, bytenr, ref->bytenr) |
337 | ctf_integer(u64, num_bytes, ref->num_bytes) | |
338 | ctf_integer(int, action, action) | |
339 | ctf_integer(u64, parent, full_ref->parent) | |
340 | ctf_integer(u64, ref_root, full_ref->root) | |
d8147755 MD |
341 | ctf_integer(u64, owner, full_ref->objectid) |
342 | ctf_integer(u64, offset, full_ref->offset) | |
fcd0a11c MD |
343 | ctf_integer(int, type, ref->type) |
344 | ctf_integer(u64, seq, ref->seq) | |
345 | ) | |
346 | ) | |
fde8b34a | 347 | |
d8147755 | 348 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref, |
426eff93 | 349 | |
d8147755 | 350 | add_delayed_data_ref, |
426eff93 | 351 | |
d8147755 | 352 | btrfs_add_delayed_data_ref, |
fde8b34a | 353 | |
d8147755 MD |
354 | TP_PROTO(const struct btrfs_fs_info *fs_info, |
355 | const struct btrfs_delayed_ref_node *ref, | |
356 | const struct btrfs_delayed_data_ref *full_ref, | |
fde8b34a MJ |
357 | int action), |
358 | ||
359 | TP_ARGS(fs_info, ref, full_ref, action) | |
360 | ) | |
ff8bdcc2 | 361 | |
d8147755 | 362 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_data_ref, |
1f1ec4ed | 363 | |
d8147755 | 364 | run_delayed_data_ref, |
1f1ec4ed | 365 | |
d8147755 | 366 | btrfs_run_delayed_data_ref, |
1f1ec4ed | 367 | |
d8147755 MD |
368 | TP_PROTO(const struct btrfs_fs_info *fs_info, |
369 | const struct btrfs_delayed_ref_node *ref, | |
370 | const struct btrfs_delayed_data_ref *full_ref, | |
371 | int action), | |
1f1ec4ed | 372 | |
d8147755 | 373 | TP_ARGS(fs_info, ref, full_ref, action) |
1f1ec4ed MJ |
374 | ) |
375 | ||
d8147755 | 376 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs_delayed_ref_head, |
1f1ec4ed | 377 | |
9d2f1147 | 378 | TP_PROTO(const struct btrfs_fs_info *fs_info, |
d8147755 MD |
379 | const struct btrfs_delayed_ref_head *head_ref, |
380 | int action), | |
1f1ec4ed | 381 | |
d8147755 | 382 | TP_ARGS(fs_info, head_ref, action), |
1f1ec4ed MJ |
383 | |
384 | TP_FIELDS( | |
d8147755 MD |
385 | ctf_integer(u64, bytenr, head_ref->bytenr) |
386 | ctf_integer(u64, num_bytes, head_ref->num_bytes) | |
387 | ctf_integer(int, action, action) | |
388 | ctf_integer(int, is_data, head_ref->is_data) | |
1f1ec4ed MJ |
389 | ) |
390 | ) | |
391 | ||
d8147755 | 392 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head, |
1f1ec4ed | 393 | |
d8147755 | 394 | add_delayed_ref_head, |
1f1ec4ed | 395 | |
d8147755 | 396 | btrfs_add_delayed_ref_head, |
1f1ec4ed | 397 | |
9d2f1147 | 398 | TP_PROTO(const struct btrfs_fs_info *fs_info, |
d8147755 MD |
399 | const struct btrfs_delayed_ref_head *head_ref, |
400 | int action), | |
1f1ec4ed | 401 | |
d8147755 | 402 | TP_ARGS(fs_info, head_ref, action) |
1f1ec4ed MJ |
403 | ) |
404 | ||
d8147755 | 405 | LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(btrfs_delayed_ref_head, |
ff8bdcc2 | 406 | |
d8147755 | 407 | run_delayed_ref_head, |
ff8bdcc2 | 408 | |
d8147755 | 409 | btrfs_run_delayed_ref_head, |
ff8bdcc2 | 410 | |
d8147755 MD |
411 | TP_PROTO(const struct btrfs_fs_info *fs_info, |
412 | const struct btrfs_delayed_ref_head *head_ref, | |
413 | int action), | |
ff8bdcc2 | 414 | |
d8147755 | 415 | TP_ARGS(fs_info, head_ref, action) |
ff8bdcc2 MD |
416 | ) |
417 | ||
d8147755 | 418 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__chunk, |
ff8bdcc2 | 419 | |
d8147755 MD |
420 | TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map, |
421 | u64 offset, u64 size), | |
ff8bdcc2 | 422 | |
d8147755 | 423 | TP_ARGS(fs_info, map, offset, size), |
ff8bdcc2 MD |
424 | |
425 | TP_FIELDS( | |
d8147755 MD |
426 | ctf_integer(int, num_stripes, map->num_stripes) |
427 | ctf_integer(u64, type, map->type) | |
428 | ctf_integer(int, sub_stripes, map->sub_stripes) | |
429 | ctf_integer(u64, offset, offset) | |
430 | ctf_integer(u64, size, size) | |
431 | ctf_integer(u64, root_objectid, fs_info->chunk_root->root_key.objectid) | |
ff8bdcc2 MD |
432 | ) |
433 | ) | |
434 | ||
d8147755 | 435 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_alloc, |
ff8bdcc2 | 436 | |
d8147755 MD |
437 | TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map, |
438 | u64 offset, u64 size), | |
ff8bdcc2 | 439 | |
d8147755 | 440 | TP_ARGS(fs_info, map, offset, size) |
ff8bdcc2 MD |
441 | ) |
442 | ||
d8147755 | 443 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__chunk, btrfs_chunk_free, |
ff8bdcc2 | 444 | |
d8147755 MD |
445 | TP_PROTO(const struct btrfs_fs_info *fs_info, const struct map_lookup *map, |
446 | u64 offset, u64 size), | |
ff8bdcc2 | 447 | |
d8147755 | 448 | TP_ARGS(fs_info, map, offset, size) |
ff8bdcc2 | 449 | ) |
7ca7cd6e | 450 | |
d8147755 | 451 | LTTNG_TRACEPOINT_EVENT(btrfs_cow_block, |
7ca7cd6e | 452 | |
d8147755 MD |
453 | TP_PROTO(const struct btrfs_root *root, const struct extent_buffer *buf, |
454 | const struct extent_buffer *cow), | |
7ca7cd6e | 455 | |
d8147755 | 456 | TP_ARGS(root, buf, cow), |
7ca7cd6e MJ |
457 | |
458 | TP_FIELDS( | |
459 | ctf_integer(u64, root_objectid, root->root_key.objectid) | |
d8147755 MD |
460 | ctf_integer(u64, buf_start, buf->start) |
461 | ctf_integer(int, refs, atomic_read(&buf->refs)) | |
462 | ctf_integer(u64, cow_start, cow->start) | |
463 | ctf_integer(int, buf_level, btrfs_header_level(buf)) | |
464 | ctf_integer(int, cow_level, btrfs_header_level(cow)) | |
7ca7cd6e MJ |
465 | ) |
466 | ) | |
467 | ||
d8147755 | 468 | LTTNG_TRACEPOINT_EVENT(btrfs_space_reservation, |
7ca7cd6e | 469 | |
d8147755 MD |
470 | TP_PROTO(const struct btrfs_fs_info *fs_info, const char *type, u64 val, |
471 | u64 bytes, int reserve), | |
7ca7cd6e | 472 | |
d8147755 MD |
473 | TP_ARGS(fs_info, type, val, bytes, reserve), |
474 | ||
475 | TP_FIELDS( | |
476 | ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) | |
477 | ctf_string(type, type) | |
478 | ctf_integer(u64, val, val) | |
479 | ctf_integer(u64, bytes, bytes) | |
480 | ctf_integer(int, reserve, reserve) | |
481 | ) | |
482 | ) | |
483 | ||
484 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserved_extent, | |
485 | ||
486 | TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len), | |
487 | ||
488 | TP_ARGS(fs_info, start, len), | |
7ca7cd6e MJ |
489 | |
490 | TP_FIELDS( | |
7ca7cd6e MJ |
491 | ctf_integer(u64, start, start) |
492 | ctf_integer(u64, len, len) | |
493 | ) | |
494 | ) | |
495 | ||
d8147755 | 496 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_alloc, |
7ca7cd6e | 497 | |
d8147755 | 498 | TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len), |
7ca7cd6e | 499 | |
d8147755 | 500 | TP_ARGS(fs_info, start, len) |
7ca7cd6e MJ |
501 | ) |
502 | ||
d8147755 | 503 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserved_extent, btrfs_reserved_extent_free, |
7ca7cd6e | 504 | |
d8147755 | 505 | TP_PROTO(const struct btrfs_fs_info *fs_info, u64 start, u64 len), |
7ca7cd6e | 506 | |
d8147755 | 507 | TP_ARGS(fs_info, start, len) |
7ca7cd6e | 508 | ) |
ff8bdcc2 | 509 | |
3bc29f0a | 510 | LTTNG_TRACEPOINT_EVENT_MAP(find_free_extent, |
9cf29d3e MD |
511 | |
512 | btrfs_find_free_extent, | |
b87700e3 | 513 | |
d8147755 | 514 | TP_PROTO(const struct btrfs_fs_info *fs_info, u64 num_bytes, u64 empty_size, |
b87700e3 AG |
515 | u64 data), |
516 | ||
d8147755 | 517 | TP_ARGS(fs_info, num_bytes, empty_size, data), |
b87700e3 | 518 | |
f127e61e | 519 | TP_FIELDS( |
d8147755 | 520 | ctf_array(u8, fsid, lttng_fs_info_fsid, BTRFS_UUID_SIZE) |
f127e61e MD |
521 | ctf_integer(u64, num_bytes, num_bytes) |
522 | ctf_integer(u64, empty_size, empty_size) | |
523 | ctf_integer(u64, data, data) | |
524 | ) | |
b87700e3 AG |
525 | ) |
526 | ||
3bc29f0a | 527 | LTTNG_TRACEPOINT_EVENT_CLASS(btrfs__reserve_extent, |
b87700e3 | 528 | |
d8147755 | 529 | TP_PROTO(const struct btrfs_block_group *block_group, u64 start, |
b87700e3 AG |
530 | u64 len), |
531 | ||
d8147755 | 532 | TP_ARGS(block_group, start, len), |
b87700e3 | 533 | |
f127e61e | 534 | TP_FIELDS( |
d8147755 MD |
535 | ctf_array(u8, fsid, block_group->lttng_fs_info_fsid, BTRFS_UUID_SIZE) |
536 | ctf_integer(u64, bg_objectid, block_group->start) | |
f127e61e MD |
537 | ctf_integer(u64, flags, block_group->flags) |
538 | ctf_integer(u64, start, start) | |
539 | ctf_integer(u64, len, len) | |
540 | ) | |
b87700e3 AG |
541 | ) |
542 | ||
3bc29f0a | 543 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent, |
b87700e3 | 544 | |
d8147755 | 545 | TP_PROTO(const struct btrfs_block_group *block_group, u64 start, |
b87700e3 AG |
546 | u64 len), |
547 | ||
d8147755 | 548 | TP_ARGS(block_group, start, len) |
b87700e3 AG |
549 | ) |
550 | ||
3bc29f0a | 551 | LTTNG_TRACEPOINT_EVENT_INSTANCE(btrfs__reserve_extent, btrfs_reserve_extent_cluster, |
b87700e3 | 552 | |
d8147755 | 553 | TP_PROTO(const struct btrfs_block_group *block_group, u64 start, |
b87700e3 AG |
554 | u64 len), |
555 | ||
d8147755 | 556 | TP_ARGS(block_group, start, len) |
b87700e3 AG |
557 | ) |
558 | ||
5809d816 MJ |
559 | LTTNG_TRACEPOINT_EVENT(btrfs_find_cluster, |
560 | ||
561 | TP_PROTO(const struct btrfs_block_group *block_group, u64 start, | |
562 | u64 bytes, u64 empty_size, u64 min_bytes), | |
563 | ||
564 | TP_ARGS(block_group, start, bytes, empty_size, min_bytes), | |
565 | ||
566 | TP_FIELDS( | |
567 | ctf_integer(u64, bg_objectid, block_group->start) | |
568 | ctf_integer(u64, flags, block_group->flags) | |
569 | ctf_integer(u64, start, start) | |
570 | ctf_integer(u64, bytes, bytes) | |
571 | ctf_integer(u64, empty_size, empty_size) | |
572 | ctf_integer(u64, min_bytes, min_bytes) | |
573 | ) | |
574 | ) | |
575 | ||
576 | LTTNG_TRACEPOINT_EVENT(btrfs_failed_cluster_setup, | |
577 | ||
578 | TP_PROTO(const struct btrfs_block_group *block_group), | |
579 | ||
580 | TP_ARGS(block_group), | |
581 | ||
582 | TP_FIELDS( | |
583 | ctf_integer(u64, bg_objectid, block_group->start) | |
584 | ) | |
585 | ) | |
586 | ||
587 | LTTNG_TRACEPOINT_EVENT(btrfs_setup_cluster, | |
588 | ||
589 | TP_PROTO(const struct btrfs_block_group *block_group, | |
590 | const struct btrfs_free_cluster *cluster, u64 size, int bitmap), | |
591 | ||
592 | TP_ARGS(block_group, cluster, size, bitmap), | |
593 | ||
594 | TP_FIELDS( | |
595 | ctf_integer(u64, bg_objectid, block_group->start) | |
596 | ctf_integer(u64, flags, block_group->flags) | |
597 | ctf_integer(u64, start, cluster->window_start) | |
598 | ctf_integer(u64, max_size, cluster->max_size) | |
599 | ctf_integer(u64, size, size) | |
600 | ctf_integer(int, bitmap, bitmap) | |
601 | ) | |
602 | ) | |
b87700e3 | 603 | |
1f1ec4ed MJ |
604 | LTTNG_TRACEPOINT_EVENT_MAP(alloc_extent_state, |
605 | ||
606 | btrfs_alloc_extent_state, | |
607 | ||
608 | TP_PROTO(const struct extent_state *state, gfp_t mask, unsigned long IP), | |
609 | ||
610 | TP_ARGS(state, mask, IP), | |
611 | ||
612 | TP_FIELDS( | |
613 | ctf_integer_hex(const struct extent_state *, state, state) | |
614 | ctf_integer(gfp_t, mask, mask) | |
2c054599 | 615 | ctf_integer_hex(unsigned long, ip, IP) |
1f1ec4ed MJ |
616 | ) |
617 | ) | |
618 | ||
619 | LTTNG_TRACEPOINT_EVENT_MAP(free_extent_state, | |
620 | ||
621 | btrfs_free_extent_state, | |
622 | ||
623 | TP_PROTO(const struct extent_state *state, unsigned long IP), | |
624 | ||
625 | TP_ARGS(state, IP), | |
626 | ||
627 | TP_FIELDS( | |
628 | ctf_integer_hex(const struct extent_state *, state, state) | |
2c054599 | 629 | ctf_integer_hex(unsigned long, ip, IP) |
1f1ec4ed MJ |
630 | ) |
631 | ) | |
b87700e3 | 632 | |
3bc29f0a | 633 | #endif /* LTTNG_TRACE_BTRFS_H */ |
b87700e3 AG |
634 | |
635 | /* This part must be outside protection */ | |
b5304713 | 636 | #include <lttng/define_trace.h> |