ocfs2: Remove mlog(0) from fs/ocfs2/suballoc.c
[linux-block.git] / fs / ocfs2 / ocfs2_trace.h
CommitLineData
80a9a84d
WW
1#undef TRACE_SYSTEM
2#define TRACE_SYSTEM ocfs2
3
4#if !defined(_TRACE_OCFS2_H) || defined(TRACE_HEADER_MULTI_READ)
5#define _TRACE_OCFS2_H
6
7#include <linux/tracepoint.h>
8
a09d09b8
TM
9DECLARE_EVENT_CLASS(ocfs2__int,
10 TP_PROTO(int num),
11 TP_ARGS(num),
12 TP_STRUCT__entry(
13 __field(int, num)
14 ),
15 TP_fast_assign(
16 __entry->num = num;
17 ),
18 TP_printk("%d", __entry->num)
19);
20
21#define DEFINE_OCFS2_INT_EVENT(name) \
22DEFINE_EVENT(ocfs2__int, name, \
23 TP_PROTO(int num), \
24 TP_ARGS(num))
25
a04733d8
TM
26DECLARE_EVENT_CLASS(ocfs2__uint,
27 TP_PROTO(unsigned int num),
28 TP_ARGS(num),
29 TP_STRUCT__entry(
30 __field( unsigned int, num )
31 ),
32 TP_fast_assign(
33 __entry->num = num;
34 ),
35 TP_printk("%u", __entry->num)
36);
37
38#define DEFINE_OCFS2_UINT_EVENT(name) \
39DEFINE_EVENT(ocfs2__uint, name, \
40 TP_PROTO(unsigned int num), \
41 TP_ARGS(num))
42
2f73e135
TM
43DECLARE_EVENT_CLASS(ocfs2__ull,
44 TP_PROTO(unsigned long long blkno),
45 TP_ARGS(blkno),
46 TP_STRUCT__entry(
47 __field(unsigned long long, blkno)
48 ),
49 TP_fast_assign(
50 __entry->blkno = blkno;
51 ),
52 TP_printk("%llu", __entry->blkno)
53);
54
55#define DEFINE_OCFS2_ULL_EVENT(name) \
56DEFINE_EVENT(ocfs2__ull, name, \
57 TP_PROTO(unsigned long long num), \
58 TP_ARGS(num))
59
a09d09b8
TM
60DECLARE_EVENT_CLASS(ocfs2__int_int,
61 TP_PROTO(int value1, int value2),
62 TP_ARGS(value1, value2),
63 TP_STRUCT__entry(
64 __field(int, value1)
65 __field(int, value2)
66 ),
67 TP_fast_assign(
68 __entry->value1 = value1;
69 __entry->value2 = value2;
70 ),
71 TP_printk("%d %d", __entry->value1, __entry->value2)
72);
73
74#define DEFINE_OCFS2_INT_INT_EVENT(name) \
75DEFINE_EVENT(ocfs2__int_int, name, \
76 TP_PROTO(int val1, int val2), \
77 TP_ARGS(val1, val2))
78
2f73e135
TM
79DECLARE_EVENT_CLASS(ocfs2__uint_uint,
80 TP_PROTO(unsigned int value1, unsigned int value2),
81 TP_ARGS(value1, value2),
82 TP_STRUCT__entry(
83 __field(unsigned int, value1)
84 __field(unsigned int, value2)
85 ),
86 TP_fast_assign(
87 __entry->value1 = value1;
88 __entry->value2 = value2;
89 ),
90 TP_printk("%u %u", __entry->value1, __entry->value2)
91);
92
93#define DEFINE_OCFS2_UINT_UINT_EVENT(name) \
94DEFINE_EVENT(ocfs2__uint_uint, name, \
95 TP_PROTO(unsigned int val1, unsigned int val2), \
96 TP_ARGS(val1, val2))
97
a09d09b8
TM
98DECLARE_EVENT_CLASS(ocfs2__ull_uint,
99 TP_PROTO(unsigned long long value1, unsigned int value2),
100 TP_ARGS(value1, value2),
101 TP_STRUCT__entry(
102 __field(unsigned long long, value1)
103 __field(unsigned int, value2)
104 ),
105 TP_fast_assign(
106 __entry->value1 = value1;
107 __entry->value2 = value2;
108 ),
109 TP_printk("%llu %u", __entry->value1, __entry->value2)
110);
111
112#define DEFINE_OCFS2_ULL_UINT_EVENT(name) \
113DEFINE_EVENT(ocfs2__ull_uint, name, \
114 TP_PROTO(unsigned long long val1, unsigned int val2), \
115 TP_ARGS(val1, val2))
116
2f73e135
TM
117DECLARE_EVENT_CLASS(ocfs2__ull_ull,
118 TP_PROTO(unsigned long long value1, unsigned long long value2),
119 TP_ARGS(value1, value2),
120 TP_STRUCT__entry(
121 __field(unsigned long long, value1)
122 __field(unsigned long long, value2)
123 ),
124 TP_fast_assign(
125 __entry->value1 = value1;
126 __entry->value2 = value2;
127 ),
128 TP_printk("%llu %llu", __entry->value1, __entry->value2)
129);
130
131#define DEFINE_OCFS2_ULL_ULL_EVENT(name) \
132DEFINE_EVENT(ocfs2__ull_ull, name, \
133 TP_PROTO(unsigned long long val1, unsigned long long val2), \
134 TP_ARGS(val1, val2))
135
136DECLARE_EVENT_CLASS(ocfs2__ull_uint_uint,
137 TP_PROTO(unsigned long long value1,
138 unsigned int value2, unsigned int value3),
139 TP_ARGS(value1, value2, value3),
140 TP_STRUCT__entry(
141 __field(unsigned long long, value1)
142 __field(unsigned int, value2)
143 __field(unsigned int, value3)
144 ),
145 TP_fast_assign(
146 __entry->value1 = value1;
147 __entry->value2 = value2;
148 __entry->value3 = value3;
149 ),
150 TP_printk("%llu %u %u", __entry->value1,
151 __entry->value2, __entry->value3)
152);
153
154#define DEFINE_OCFS2_ULL_UINT_UINT_EVENT(name) \
155DEFINE_EVENT(ocfs2__ull_uint_uint, name, \
156 TP_PROTO(unsigned long long val1, \
157 unsigned int val2, unsigned int val3), \
158 TP_ARGS(val1, val2, val3))
159
a04733d8
TM
160DECLARE_EVENT_CLASS(ocfs2__uint_uint_uint,
161 TP_PROTO(unsigned int value1, unsigned int value2,
162 unsigned int value3),
163 TP_ARGS(value1, value2, value3),
164 TP_STRUCT__entry(
165 __field( unsigned int, value1 )
166 __field( unsigned int, value2 )
167 __field( unsigned int, value3 )
168 ),
169 TP_fast_assign(
170 __entry->value1 = value1;
171 __entry->value2 = value2;
172 __entry->value3 = value3;
173 ),
174 TP_printk("%u %u %u", __entry->value1, __entry->value2, __entry->value3)
175);
176
177#define DEFINE_OCFS2_UINT_UINT_UINT_EVENT(name) \
178DEFINE_EVENT(ocfs2__uint_uint_uint, name, \
179 TP_PROTO(unsigned int value1, unsigned int value2, \
180 unsigned int value3), \
181 TP_ARGS(value1, value2, value3))
182
183DECLARE_EVENT_CLASS(ocfs2__ull_int_int_int,
184 TP_PROTO(unsigned long long ull, int value1, int value2, int value3),
185 TP_ARGS(ull, value1, value2, value3),
186 TP_STRUCT__entry(
187 __field( unsigned long long, ull )
188 __field( int, value1 )
189 __field( int, value2 )
190 __field( int, value3 )
191 ),
192 TP_fast_assign(
193 __entry->ull = ull;
194 __entry->value1 = value1;
195 __entry->value2 = value2;
196 __entry->value3 = value3;
197 ),
198 TP_printk("%llu %d %d %d",
199 __entry->ull, __entry->value1,
200 __entry->value2, __entry->value3)
201);
202
203#define DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(name) \
204DEFINE_EVENT(ocfs2__ull_int_int_int, name, \
205 TP_PROTO(unsigned long long ull, int value1, \
206 int value2, int value3), \
207 TP_ARGS(ull, value1, value2, value3))
208
2f73e135
TM
209DECLARE_EVENT_CLASS(ocfs2__ull_uint_uint_uint,
210 TP_PROTO(unsigned long long ull, unsigned int value1,
211 unsigned int value2, unsigned int value3),
212 TP_ARGS(ull, value1, value2, value3),
213 TP_STRUCT__entry(
214 __field(unsigned long long, ull)
215 __field(unsigned int, value1)
216 __field(unsigned int, value2)
217 __field(unsigned int, value3)
218 ),
219 TP_fast_assign(
220 __entry->ull = ull;
221 __entry->value1 = value1;
222 __entry->value2 = value2;
223 __entry->value3 = value3;
224 ),
225 TP_printk("%llu %u %u %u",
226 __entry->ull, __entry->value1,
227 __entry->value2, __entry->value3)
228);
229
230#define DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(name) \
231DEFINE_EVENT(ocfs2__ull_uint_uint_uint, name, \
232 TP_PROTO(unsigned long long ull, unsigned int value1, \
233 unsigned int value2, unsigned int value3), \
234 TP_ARGS(ull, value1, value2, value3))
235
a09d09b8
TM
236/* Trace events for fs/ocfs2/alloc.c. */
237DECLARE_EVENT_CLASS(ocfs2__btree_ops,
238 TP_PROTO(unsigned long long owner,\
239 unsigned int value1, unsigned int value2),
240 TP_ARGS(owner, value1, value2),
241 TP_STRUCT__entry(
242 __field(unsigned long long, owner)
243 __field(unsigned int, value1)
244 __field(unsigned int, value2)
245 ),
246 TP_fast_assign(
247 __entry->owner = owner;
248 __entry->value1 = value1;
249 __entry->value2 = value2;
250 ),
251 TP_printk("%llu %u %u",
252 __entry->owner, __entry->value1, __entry->value2)
253);
254
255#define DEFINE_OCFS2_BTREE_EVENT(name) \
256DEFINE_EVENT(ocfs2__btree_ops, name, \
257 TP_PROTO(unsigned long long owner, \
258 unsigned int value1, unsigned int value2), \
259 TP_ARGS(owner, value1, value2))
260
261DEFINE_OCFS2_BTREE_EVENT(ocfs2_adjust_rightmost_branch);
262
263DEFINE_OCFS2_BTREE_EVENT(ocfs2_rotate_tree_right);
264
265DEFINE_OCFS2_BTREE_EVENT(ocfs2_append_rec_to_path);
266
267DEFINE_OCFS2_BTREE_EVENT(ocfs2_insert_extent_start);
268
269DEFINE_OCFS2_BTREE_EVENT(ocfs2_add_clusters_in_btree);
270
271DEFINE_OCFS2_INT_EVENT(ocfs2_num_free_extents);
272
273DEFINE_OCFS2_INT_EVENT(ocfs2_complete_edge_insert);
274
275TRACE_EVENT(ocfs2_grow_tree,
276 TP_PROTO(unsigned long long owner, int depth),
277 TP_ARGS(owner, depth),
278 TP_STRUCT__entry(
279 __field(unsigned long long, owner)
280 __field(int, depth)
281 ),
282 TP_fast_assign(
283 __entry->owner = owner;
284 __entry->depth = depth;
285 ),
286 TP_printk("%llu %d", __entry->owner, __entry->depth)
287);
288
289TRACE_EVENT(ocfs2_rotate_subtree,
290 TP_PROTO(int subtree_root, unsigned long long blkno,
291 int depth),
292 TP_ARGS(subtree_root, blkno, depth),
293 TP_STRUCT__entry(
294 __field(int, subtree_root)
295 __field(unsigned long long, blkno)
296 __field(int, depth)
297 ),
298 TP_fast_assign(
299 __entry->subtree_root = subtree_root;
300 __entry->blkno = blkno;
301 __entry->depth = depth;
302 ),
303 TP_printk("%d %llu %d", __entry->subtree_root,
304 __entry->blkno, __entry->depth)
305);
306
307TRACE_EVENT(ocfs2_insert_extent,
308 TP_PROTO(unsigned int ins_appending, unsigned int ins_contig,
309 int ins_contig_index, int free_records, int ins_tree_depth),
310 TP_ARGS(ins_appending, ins_contig, ins_contig_index, free_records,
311 ins_tree_depth),
312 TP_STRUCT__entry(
313 __field(unsigned int, ins_appending)
314 __field(unsigned int, ins_contig)
315 __field(int, ins_contig_index)
316 __field(int, free_records)
317 __field(int, ins_tree_depth)
318 ),
319 TP_fast_assign(
320 __entry->ins_appending = ins_appending;
321 __entry->ins_contig = ins_contig;
322 __entry->ins_contig_index = ins_contig_index;
323 __entry->free_records = free_records;
324 __entry->ins_tree_depth = ins_tree_depth;
325 ),
326 TP_printk("%u %u %d %d %d",
327 __entry->ins_appending, __entry->ins_contig,
328 __entry->ins_contig_index, __entry->free_records,
329 __entry->ins_tree_depth)
330);
331
332TRACE_EVENT(ocfs2_split_extent,
333 TP_PROTO(int split_index, unsigned int c_contig_type,
334 unsigned int c_has_empty_extent,
335 unsigned int c_split_covers_rec),
336 TP_ARGS(split_index, c_contig_type,
337 c_has_empty_extent, c_split_covers_rec),
338 TP_STRUCT__entry(
339 __field(int, split_index)
340 __field(unsigned int, c_contig_type)
341 __field(unsigned int, c_has_empty_extent)
342 __field(unsigned int, c_split_covers_rec)
343 ),
344 TP_fast_assign(
345 __entry->split_index = split_index;
346 __entry->c_contig_type = c_contig_type;
347 __entry->c_has_empty_extent = c_has_empty_extent;
348 __entry->c_split_covers_rec = c_split_covers_rec;
349 ),
350 TP_printk("%d %u %u %u", __entry->split_index, __entry->c_contig_type,
351 __entry->c_has_empty_extent, __entry->c_split_covers_rec)
352);
353
354TRACE_EVENT(ocfs2_remove_extent,
355 TP_PROTO(unsigned long long owner, unsigned int cpos,
356 unsigned int len, int index,
357 unsigned int e_cpos, unsigned int clusters),
358 TP_ARGS(owner, cpos, len, index, e_cpos, clusters),
359 TP_STRUCT__entry(
360 __field(unsigned long long, owner)
361 __field(unsigned int, cpos)
362 __field(unsigned int, len)
363 __field(int, index)
364 __field(unsigned int, e_cpos)
365 __field(unsigned int, clusters)
366 ),
367 TP_fast_assign(
368 __entry->owner = owner;
369 __entry->cpos = cpos;
370 __entry->len = len;
371 __entry->index = index;
372 __entry->e_cpos = e_cpos;
373 __entry->clusters = clusters;
374 ),
375 TP_printk("%llu %u %u %d %u %u",
376 __entry->owner, __entry->cpos, __entry->len, __entry->index,
377 __entry->e_cpos, __entry->clusters)
378);
379
380TRACE_EVENT(ocfs2_commit_truncate,
381 TP_PROTO(unsigned long long ino, unsigned int new_cpos,
382 unsigned int clusters, unsigned int depth),
383 TP_ARGS(ino, new_cpos, clusters, depth),
384 TP_STRUCT__entry(
385 __field(unsigned long long, ino)
386 __field(unsigned int, new_cpos)
387 __field(unsigned int, clusters)
388 __field(unsigned int, depth)
389 ),
390 TP_fast_assign(
391 __entry->ino = ino;
392 __entry->new_cpos = new_cpos;
393 __entry->clusters = clusters;
394 __entry->depth = depth;
395 ),
396 TP_printk("%llu %u %u %u",
397 __entry->ino, __entry->new_cpos,
398 __entry->clusters, __entry->depth)
399);
400
401TRACE_EVENT(ocfs2_validate_extent_block,
402 TP_PROTO(unsigned long long blkno),
403 TP_ARGS(blkno),
404 TP_STRUCT__entry(
405 __field(unsigned long long, blkno)
406 ),
407 TP_fast_assign(
408 __entry->blkno = blkno;
409 ),
410 TP_printk("%llu ", __entry->blkno)
411);
412
413TRACE_EVENT(ocfs2_rotate_leaf,
414 TP_PROTO(unsigned int insert_cpos, int insert_index,
415 int has_empty, int next_free,
416 unsigned int l_count),
417 TP_ARGS(insert_cpos, insert_index, has_empty,
418 next_free, l_count),
419 TP_STRUCT__entry(
420 __field(unsigned int, insert_cpos)
421 __field(int, insert_index)
422 __field(int, has_empty)
423 __field(int, next_free)
424 __field(unsigned int, l_count)
425 ),
426 TP_fast_assign(
427 __entry->insert_cpos = insert_cpos;
428 __entry->insert_index = insert_index;
429 __entry->has_empty = has_empty;
430 __entry->next_free = next_free;
431 __entry->l_count = l_count;
432 ),
433 TP_printk("%u %d %d %d %u", __entry->insert_cpos,
434 __entry->insert_index, __entry->has_empty,
435 __entry->next_free, __entry->l_count)
436);
437
438TRACE_EVENT(ocfs2_add_clusters_in_btree_ret,
439 TP_PROTO(int status, int reason, int err),
440 TP_ARGS(status, reason, err),
441 TP_STRUCT__entry(
442 __field(int, status)
443 __field(int, reason)
444 __field(int, err)
445 ),
446 TP_fast_assign(
447 __entry->status = status;
448 __entry->reason = reason;
449 __entry->err = err;
450 ),
451 TP_printk("%d %d %d", __entry->status,
452 __entry->reason, __entry->err)
453);
454
455TRACE_EVENT(ocfs2_mark_extent_written,
456 TP_PROTO(unsigned long long owner, unsigned int cpos,
457 unsigned int len, unsigned int phys),
458 TP_ARGS(owner, cpos, len, phys),
459 TP_STRUCT__entry(
460 __field(unsigned long long, owner)
461 __field(unsigned int, cpos)
462 __field(unsigned int, len)
463 __field(unsigned int, phys)
464 ),
465 TP_fast_assign(
466 __entry->owner = owner;
467 __entry->cpos = cpos;
468 __entry->len = len;
469 __entry->phys = phys;
470 ),
471 TP_printk("%llu %u %u %u",
472 __entry->owner, __entry->cpos,
473 __entry->len, __entry->phys)
474);
475
476DECLARE_EVENT_CLASS(ocfs2__truncate_log_ops,
477 TP_PROTO(unsigned long long blkno, int index,
478 unsigned int start, unsigned int num),
479 TP_ARGS(blkno, index, start, num),
480 TP_STRUCT__entry(
481 __field(unsigned long long, blkno)
482 __field(int, index)
483 __field(unsigned int, start)
484 __field(unsigned int, num)
485 ),
486 TP_fast_assign(
487 __entry->blkno = blkno;
488 __entry->index = index;
489 __entry->start = start;
490 __entry->num = num;
491 ),
492 TP_printk("%llu %d %u %u",
493 __entry->blkno, __entry->index,
494 __entry->start, __entry->num)
495);
496
497#define DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(name) \
498DEFINE_EVENT(ocfs2__truncate_log_ops, name, \
499 TP_PROTO(unsigned long long blkno, int index, \
500 unsigned int start, unsigned int num), \
501 TP_ARGS(blkno, index, start, num))
502
503DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(ocfs2_truncate_log_append);
504
505DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(ocfs2_replay_truncate_records);
506
507DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_flush_truncate_log);
508
509DEFINE_OCFS2_INT_EVENT(ocfs2_begin_truncate_log_recovery);
510
511DEFINE_OCFS2_INT_EVENT(ocfs2_truncate_log_recovery_num);
512
513DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_complete_truncate_log_recovery);
514
515DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_free_cached_blocks);
516
517DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_cache_cluster_dealloc);
518
519DEFINE_OCFS2_INT_INT_EVENT(ocfs2_run_deallocs);
520
521TRACE_EVENT(ocfs2_cache_block_dealloc,
522 TP_PROTO(int type, int slot, unsigned long long suballoc,
523 unsigned long long blkno, unsigned int bit),
524 TP_ARGS(type, slot, suballoc, blkno, bit),
525 TP_STRUCT__entry(
526 __field(int, type)
527 __field(int, slot)
528 __field(unsigned long long, suballoc)
529 __field(unsigned long long, blkno)
530 __field(unsigned int, bit)
531 ),
532 TP_fast_assign(
533 __entry->type = type;
534 __entry->slot = slot;
535 __entry->suballoc = suballoc;
536 __entry->blkno = blkno;
537 __entry->bit = bit;
538 ),
539 TP_printk("%d %d %llu %llu %u",
540 __entry->type, __entry->slot, __entry->suballoc,
541 __entry->blkno, __entry->bit)
542);
543
544/* End of trace events for fs/ocfs2/alloc.c. */
80a9a84d 545
a04733d8
TM
546/* Trace events for fs/ocfs2/localalloc.c. */
547
548DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_la_set_sizes);
549
550DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_alloc_should_use_local);
551
552DEFINE_OCFS2_INT_EVENT(ocfs2_load_local_alloc);
553
554DEFINE_OCFS2_INT_EVENT(ocfs2_begin_local_alloc_recovery);
555
556DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_reserve_local_alloc_bits);
557
558DEFINE_OCFS2_UINT_EVENT(ocfs2_local_alloc_count_bits);
559
560DEFINE_OCFS2_INT_INT_EVENT(ocfs2_local_alloc_find_clear_bits_search_bitmap);
561
562DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_local_alloc_find_clear_bits);
563
564DEFINE_OCFS2_INT_INT_EVENT(ocfs2_sync_local_to_main);
565
566TRACE_EVENT(ocfs2_sync_local_to_main_free,
567 TP_PROTO(int count, int bit, unsigned long long start_blk,
568 unsigned long long blkno),
569 TP_ARGS(count, bit, start_blk, blkno),
570 TP_STRUCT__entry(
571 __field(int, count)
572 __field(int, bit)
573 __field(unsigned long long, start_blk)
574 __field(unsigned long long, blkno)
575 ),
576 TP_fast_assign(
577 __entry->count = count;
578 __entry->bit = bit;
579 __entry->start_blk = start_blk;
580 __entry->blkno = blkno;
581 ),
582 TP_printk("%d %d %llu %llu",
583 __entry->count, __entry->bit, __entry->start_blk,
584 __entry->blkno)
585);
586
587DEFINE_OCFS2_INT_INT_EVENT(ocfs2_local_alloc_new_window);
588
589DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_local_alloc_new_window_result);
590
591/* End of trace events for fs/ocfs2/localalloc.c. */
2f73e135
TM
592
593/* Trace events for fs/ocfs2/suballoc.c. */
594
595DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_group_descriptor);
596
597DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_block_group_alloc_contig);
598
599DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_block_group_alloc_discontig);
600
601DEFINE_OCFS2_ULL_EVENT(ocfs2_block_group_alloc);
602
603DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_reserve_suballoc_bits_nospc);
604
605DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_reserve_suballoc_bits_no_new_group);
606
607DEFINE_OCFS2_ULL_EVENT(ocfs2_reserve_new_inode_new_group);
608
609DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_block_group_set_bits);
610
611TRACE_EVENT(ocfs2_relink_block_group,
612 TP_PROTO(unsigned long long i_blkno, unsigned int chain,
613 unsigned long long bg_blkno,
614 unsigned long long prev_blkno),
615 TP_ARGS(i_blkno, chain, bg_blkno, prev_blkno),
616 TP_STRUCT__entry(
617 __field(unsigned long long, i_blkno)
618 __field(unsigned int, chain)
619 __field(unsigned long long, bg_blkno)
620 __field(unsigned long long, prev_blkno)
621 ),
622 TP_fast_assign(
623 __entry->i_blkno = i_blkno;
624 __entry->chain = chain;
625 __entry->bg_blkno = bg_blkno;
626 __entry->prev_blkno = prev_blkno;
627 ),
628 TP_printk("%llu %u %llu %llu",
629 __entry->i_blkno, __entry->chain, __entry->bg_blkno,
630 __entry->prev_blkno)
631);
632
633DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_cluster_group_search_wrong_max_bits);
634
635DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_cluster_group_search_max_block);
636
637DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_block_group_search_max_block);
638
639DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_search_chain_begin);
640
641DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_search_chain_succ);
642
643DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_search_chain_end);
644
645DEFINE_OCFS2_UINT_EVENT(ocfs2_claim_suballoc_bits);
646
647DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_claim_new_inode_at_loc);
648
649DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_block_group_clear_bits);
650
651TRACE_EVENT(ocfs2_free_suballoc_bits,
652 TP_PROTO(unsigned long long inode, unsigned long long group,
653 unsigned int start_bit, unsigned int count),
654 TP_ARGS(inode, group, start_bit, count),
655 TP_STRUCT__entry(
656 __field(unsigned long long, inode)
657 __field(unsigned long long, group)
658 __field(unsigned int, start_bit)
659 __field(unsigned int, count)
660 ),
661 TP_fast_assign(
662 __entry->inode = inode;
663 __entry->group = group;
664 __entry->start_bit = start_bit;
665 __entry->count = count;
666 ),
667 TP_printk("%llu %llu %u %u", __entry->inode, __entry->group,
668 __entry->start_bit, __entry->count)
669);
670
671TRACE_EVENT(ocfs2_free_clusters,
672 TP_PROTO(unsigned long long bg_blkno, unsigned long long start_blk,
673 unsigned int start_bit, unsigned int count),
674 TP_ARGS(bg_blkno, start_blk, start_bit, count),
675 TP_STRUCT__entry(
676 __field(unsigned long long, bg_blkno)
677 __field(unsigned long long, start_blk)
678 __field(unsigned int, start_bit)
679 __field(unsigned int, count)
680 ),
681 TP_fast_assign(
682 __entry->bg_blkno = bg_blkno;
683 __entry->start_blk = start_blk;
684 __entry->start_bit = start_bit;
685 __entry->count = count;
686 ),
687 TP_printk("%llu %llu %u %u", __entry->bg_blkno, __entry->start_blk,
688 __entry->start_bit, __entry->count)
689);
690
691DEFINE_OCFS2_ULL_EVENT(ocfs2_get_suballoc_slot_bit);
692
693DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_test_suballoc_bit);
694
695DEFINE_OCFS2_ULL_EVENT(ocfs2_test_inode_bit);
696
697/* End of trace events for fs/ocfs2/suballoc.c. */
80a9a84d
WW
698#endif /* _TRACE_OCFS2_H */
699
700/* This part must be outside protection */
701#undef TRACE_INCLUDE_PATH
702#define TRACE_INCLUDE_PATH .
703#define TRACE_INCLUDE_FILE ocfs2_trace
704#include <trace/define_trace.h>