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 9 DECLARE_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) \ 22 DEFINE_EVENT(ocfs2__int, name, \ 23 TP_PROTO(int num), \ 24 TP_ARGS(num)) 25 26 DECLARE_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) \ 39 DEFINE_EVENT(ocfs2__uint, name, \ 40 TP_PROTO(unsigned int num), \ 41 TP_ARGS(num)) 42 43 DECLARE_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) \ 56 DEFINE_EVENT(ocfs2__ull, name, \ 57 TP_PROTO(unsigned long long num), \ 58 TP_ARGS(num)) 59 60 DECLARE_EVENT_CLASS(ocfs2__pointer, 61 TP_PROTO(void *pointer), 62 TP_ARGS(pointer), 63 TP_STRUCT__entry( 64 __field(void *, pointer) 65 ), 66 TP_fast_assign( 67 __entry->pointer = pointer; 68 ), 69 TP_printk("%p", __entry->pointer) 70 ); 71 72 #define DEFINE_OCFS2_POINTER_EVENT(name) \ 73 DEFINE_EVENT(ocfs2__pointer, name, \ 74 TP_PROTO(void *pointer), \ 75 TP_ARGS(pointer)) 76 77 DECLARE_EVENT_CLASS(ocfs2__string, 78 TP_PROTO(const char *name), 79 TP_ARGS(name), 80 TP_STRUCT__entry( 81 __string(name,name) 82 ), 83 TP_fast_assign( 84 __assign_str(name, name); 85 ), 86 TP_printk("%s", __get_str(name)) 87 ); 88 89 #define DEFINE_OCFS2_STRING_EVENT(name) \ 90 DEFINE_EVENT(ocfs2__string, name, \ 91 TP_PROTO(const char *name), \ 92 TP_ARGS(name)) 93 94 DECLARE_EVENT_CLASS(ocfs2__int_int, 95 TP_PROTO(int value1, int value2), 96 TP_ARGS(value1, value2), 97 TP_STRUCT__entry( 98 __field(int, value1) 99 __field(int, value2) 100 ), 101 TP_fast_assign( 102 __entry->value1 = value1; 103 __entry->value2 = value2; 104 ), 105 TP_printk("%d %d", __entry->value1, __entry->value2) 106 ); 107 108 #define DEFINE_OCFS2_INT_INT_EVENT(name) \ 109 DEFINE_EVENT(ocfs2__int_int, name, \ 110 TP_PROTO(int val1, int val2), \ 111 TP_ARGS(val1, val2)) 112 113 DECLARE_EVENT_CLASS(ocfs2__uint_uint, 114 TP_PROTO(unsigned int value1, unsigned int value2), 115 TP_ARGS(value1, value2), 116 TP_STRUCT__entry( 117 __field(unsigned int, value1) 118 __field(unsigned int, value2) 119 ), 120 TP_fast_assign( 121 __entry->value1 = value1; 122 __entry->value2 = value2; 123 ), 124 TP_printk("%u %u", __entry->value1, __entry->value2) 125 ); 126 127 #define DEFINE_OCFS2_UINT_UINT_EVENT(name) \ 128 DEFINE_EVENT(ocfs2__uint_uint, name, \ 129 TP_PROTO(unsigned int val1, unsigned int val2), \ 130 TP_ARGS(val1, val2)) 131 132 DECLARE_EVENT_CLASS(ocfs2__ull_uint, 133 TP_PROTO(unsigned long long value1, unsigned int value2), 134 TP_ARGS(value1, value2), 135 TP_STRUCT__entry( 136 __field(unsigned long long, value1) 137 __field(unsigned int, value2) 138 ), 139 TP_fast_assign( 140 __entry->value1 = value1; 141 __entry->value2 = value2; 142 ), 143 TP_printk("%llu %u", __entry->value1, __entry->value2) 144 ); 145 146 #define DEFINE_OCFS2_ULL_UINT_EVENT(name) \ 147 DEFINE_EVENT(ocfs2__ull_uint, name, \ 148 TP_PROTO(unsigned long long val1, unsigned int val2), \ 149 TP_ARGS(val1, val2)) 150 151 DECLARE_EVENT_CLASS(ocfs2__ull_int, 152 TP_PROTO(unsigned long long value1, int value2), 153 TP_ARGS(value1, value2), 154 TP_STRUCT__entry( 155 __field(unsigned long long, value1) 156 __field(int, value2) 157 ), 158 TP_fast_assign( 159 __entry->value1 = value1; 160 __entry->value2 = value2; 161 ), 162 TP_printk("%llu %d", __entry->value1, __entry->value2) 163 ); 164 165 #define DEFINE_OCFS2_ULL_INT_EVENT(name) \ 166 DEFINE_EVENT(ocfs2__ull_int, name, \ 167 TP_PROTO(unsigned long long val1, int val2), \ 168 TP_ARGS(val1, val2)) 169 170 DECLARE_EVENT_CLASS(ocfs2__ull_ull, 171 TP_PROTO(unsigned long long value1, unsigned long long value2), 172 TP_ARGS(value1, value2), 173 TP_STRUCT__entry( 174 __field(unsigned long long, value1) 175 __field(unsigned long long, value2) 176 ), 177 TP_fast_assign( 178 __entry->value1 = value1; 179 __entry->value2 = value2; 180 ), 181 TP_printk("%llu %llu", __entry->value1, __entry->value2) 182 ); 183 184 #define DEFINE_OCFS2_ULL_ULL_EVENT(name) \ 185 DEFINE_EVENT(ocfs2__ull_ull, name, \ 186 TP_PROTO(unsigned long long val1, unsigned long long val2), \ 187 TP_ARGS(val1, val2)) 188 189 DECLARE_EVENT_CLASS(ocfs2__ull_ull_uint, 190 TP_PROTO(unsigned long long value1, 191 unsigned long long value2, unsigned int value3), 192 TP_ARGS(value1, value2, value3), 193 TP_STRUCT__entry( 194 __field(unsigned long long, value1) 195 __field(unsigned long long, value2) 196 __field(unsigned int, value3) 197 ), 198 TP_fast_assign( 199 __entry->value1 = value1; 200 __entry->value2 = value2; 201 __entry->value3 = value3; 202 ), 203 TP_printk("%llu %llu %u", 204 __entry->value1, __entry->value2, __entry->value3) 205 ); 206 207 #define DEFINE_OCFS2_ULL_ULL_UINT_EVENT(name) \ 208 DEFINE_EVENT(ocfs2__ull_ull_uint, name, \ 209 TP_PROTO(unsigned long long val1, \ 210 unsigned long long val2, unsigned int val3), \ 211 TP_ARGS(val1, val2, val3)) 212 213 DECLARE_EVENT_CLASS(ocfs2__ull_uint_uint, 214 TP_PROTO(unsigned long long value1, 215 unsigned int value2, unsigned int value3), 216 TP_ARGS(value1, value2, value3), 217 TP_STRUCT__entry( 218 __field(unsigned long long, value1) 219 __field(unsigned int, value2) 220 __field(unsigned int, value3) 221 ), 222 TP_fast_assign( 223 __entry->value1 = value1; 224 __entry->value2 = value2; 225 __entry->value3 = value3; 226 ), 227 TP_printk("%llu %u %u", __entry->value1, 228 __entry->value2, __entry->value3) 229 ); 230 231 #define DEFINE_OCFS2_ULL_UINT_UINT_EVENT(name) \ 232 DEFINE_EVENT(ocfs2__ull_uint_uint, name, \ 233 TP_PROTO(unsigned long long val1, \ 234 unsigned int val2, unsigned int val3), \ 235 TP_ARGS(val1, val2, val3)) 236 237 DECLARE_EVENT_CLASS(ocfs2__uint_uint_uint, 238 TP_PROTO(unsigned int value1, unsigned int value2, 239 unsigned int value3), 240 TP_ARGS(value1, value2, value3), 241 TP_STRUCT__entry( 242 __field( unsigned int, value1 ) 243 __field( unsigned int, value2 ) 244 __field( unsigned int, value3 ) 245 ), 246 TP_fast_assign( 247 __entry->value1 = value1; 248 __entry->value2 = value2; 249 __entry->value3 = value3; 250 ), 251 TP_printk("%u %u %u", __entry->value1, __entry->value2, __entry->value3) 252 ); 253 254 #define DEFINE_OCFS2_UINT_UINT_UINT_EVENT(name) \ 255 DEFINE_EVENT(ocfs2__uint_uint_uint, name, \ 256 TP_PROTO(unsigned int value1, unsigned int value2, \ 257 unsigned int value3), \ 258 TP_ARGS(value1, value2, value3)) 259 260 DECLARE_EVENT_CLASS(ocfs2__ull_ull_ull, 261 TP_PROTO(unsigned long long value1, 262 unsigned long long value2, unsigned long long value3), 263 TP_ARGS(value1, value2, value3), 264 TP_STRUCT__entry( 265 __field(unsigned long long, value1) 266 __field(unsigned long long, value2) 267 __field(unsigned long long, value3) 268 ), 269 TP_fast_assign( 270 __entry->value1 = value1; 271 __entry->value2 = value2; 272 __entry->value3 = value3; 273 ), 274 TP_printk("%llu %llu %llu", 275 __entry->value1, __entry->value2, __entry->value3) 276 ); 277 278 #define DEFINE_OCFS2_ULL_ULL_ULL_EVENT(name) \ 279 DEFINE_EVENT(ocfs2__ull_ull_ull, name, \ 280 TP_PROTO(unsigned long long value1, unsigned long long value2, \ 281 unsigned long long value3), \ 282 TP_ARGS(value1, value2, value3)) 283 284 DECLARE_EVENT_CLASS(ocfs2__ull_int_int_int, 285 TP_PROTO(unsigned long long ull, int value1, int value2, int value3), 286 TP_ARGS(ull, value1, value2, value3), 287 TP_STRUCT__entry( 288 __field( unsigned long long, ull ) 289 __field( int, value1 ) 290 __field( int, value2 ) 291 __field( int, value3 ) 292 ), 293 TP_fast_assign( 294 __entry->ull = ull; 295 __entry->value1 = value1; 296 __entry->value2 = value2; 297 __entry->value3 = value3; 298 ), 299 TP_printk("%llu %d %d %d", 300 __entry->ull, __entry->value1, 301 __entry->value2, __entry->value3) 302 ); 303 304 #define DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(name) \ 305 DEFINE_EVENT(ocfs2__ull_int_int_int, name, \ 306 TP_PROTO(unsigned long long ull, int value1, \ 307 int value2, int value3), \ 308 TP_ARGS(ull, value1, value2, value3)) 309 310 DECLARE_EVENT_CLASS(ocfs2__ull_uint_uint_uint, 311 TP_PROTO(unsigned long long ull, unsigned int value1, 312 unsigned int value2, unsigned int value3), 313 TP_ARGS(ull, value1, value2, value3), 314 TP_STRUCT__entry( 315 __field(unsigned long long, ull) 316 __field(unsigned int, value1) 317 __field(unsigned int, value2) 318 __field(unsigned int, value3) 319 ), 320 TP_fast_assign( 321 __entry->ull = ull; 322 __entry->value1 = value1; 323 __entry->value2 = value2; 324 __entry->value3 = value3; 325 ), 326 TP_printk("%llu %u %u %u", 327 __entry->ull, __entry->value1, 328 __entry->value2, __entry->value3) 329 ); 330 331 #define DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(name) \ 332 DEFINE_EVENT(ocfs2__ull_uint_uint_uint, name, \ 333 TP_PROTO(unsigned long long ull, unsigned int value1, \ 334 unsigned int value2, unsigned int value3), \ 335 TP_ARGS(ull, value1, value2, value3)) 336 337 DECLARE_EVENT_CLASS(ocfs2__ull_ull_uint_uint, 338 TP_PROTO(unsigned long long value1, unsigned long long value2, 339 unsigned int value3, unsigned int value4), 340 TP_ARGS(value1, value2, value3, value4), 341 TP_STRUCT__entry( 342 __field(unsigned long long, value1) 343 __field(unsigned long long, value2) 344 __field(unsigned int, value3) 345 __field(unsigned int, value4) 346 ), 347 TP_fast_assign( 348 __entry->value1 = value1; 349 __entry->value2 = value2; 350 __entry->value3 = value3; 351 __entry->value4 = value4; 352 ), 353 TP_printk("%llu %llu %u %u", 354 __entry->value1, __entry->value2, 355 __entry->value3, __entry->value4) 356 ); 357 358 #define DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(name) \ 359 DEFINE_EVENT(ocfs2__ull_ull_uint_uint, name, \ 360 TP_PROTO(unsigned long long ull, unsigned long long ull1, \ 361 unsigned int value2, unsigned int value3), \ 362 TP_ARGS(ull, ull1, value2, value3)) 363 364 /* Trace events for fs/ocfs2/alloc.c. */ 365 DECLARE_EVENT_CLASS(ocfs2__btree_ops, 366 TP_PROTO(unsigned long long owner,\ 367 unsigned int value1, unsigned int value2), 368 TP_ARGS(owner, value1, value2), 369 TP_STRUCT__entry( 370 __field(unsigned long long, owner) 371 __field(unsigned int, value1) 372 __field(unsigned int, value2) 373 ), 374 TP_fast_assign( 375 __entry->owner = owner; 376 __entry->value1 = value1; 377 __entry->value2 = value2; 378 ), 379 TP_printk("%llu %u %u", 380 __entry->owner, __entry->value1, __entry->value2) 381 ); 382 383 #define DEFINE_OCFS2_BTREE_EVENT(name) \ 384 DEFINE_EVENT(ocfs2__btree_ops, name, \ 385 TP_PROTO(unsigned long long owner, \ 386 unsigned int value1, unsigned int value2), \ 387 TP_ARGS(owner, value1, value2)) 388 389 DEFINE_OCFS2_BTREE_EVENT(ocfs2_adjust_rightmost_branch); 390 391 DEFINE_OCFS2_BTREE_EVENT(ocfs2_rotate_tree_right); 392 393 DEFINE_OCFS2_BTREE_EVENT(ocfs2_append_rec_to_path); 394 395 DEFINE_OCFS2_BTREE_EVENT(ocfs2_insert_extent_start); 396 397 DEFINE_OCFS2_BTREE_EVENT(ocfs2_add_clusters_in_btree); 398 399 DEFINE_OCFS2_INT_EVENT(ocfs2_num_free_extents); 400 401 DEFINE_OCFS2_INT_EVENT(ocfs2_complete_edge_insert); 402 403 TRACE_EVENT(ocfs2_grow_tree, 404 TP_PROTO(unsigned long long owner, int depth), 405 TP_ARGS(owner, depth), 406 TP_STRUCT__entry( 407 __field(unsigned long long, owner) 408 __field(int, depth) 409 ), 410 TP_fast_assign( 411 __entry->owner = owner; 412 __entry->depth = depth; 413 ), 414 TP_printk("%llu %d", __entry->owner, __entry->depth) 415 ); 416 417 TRACE_EVENT(ocfs2_rotate_subtree, 418 TP_PROTO(int subtree_root, unsigned long long blkno, 419 int depth), 420 TP_ARGS(subtree_root, blkno, depth), 421 TP_STRUCT__entry( 422 __field(int, subtree_root) 423 __field(unsigned long long, blkno) 424 __field(int, depth) 425 ), 426 TP_fast_assign( 427 __entry->subtree_root = subtree_root; 428 __entry->blkno = blkno; 429 __entry->depth = depth; 430 ), 431 TP_printk("%d %llu %d", __entry->subtree_root, 432 __entry->blkno, __entry->depth) 433 ); 434 435 TRACE_EVENT(ocfs2_insert_extent, 436 TP_PROTO(unsigned int ins_appending, unsigned int ins_contig, 437 int ins_contig_index, int free_records, int ins_tree_depth), 438 TP_ARGS(ins_appending, ins_contig, ins_contig_index, free_records, 439 ins_tree_depth), 440 TP_STRUCT__entry( 441 __field(unsigned int, ins_appending) 442 __field(unsigned int, ins_contig) 443 __field(int, ins_contig_index) 444 __field(int, free_records) 445 __field(int, ins_tree_depth) 446 ), 447 TP_fast_assign( 448 __entry->ins_appending = ins_appending; 449 __entry->ins_contig = ins_contig; 450 __entry->ins_contig_index = ins_contig_index; 451 __entry->free_records = free_records; 452 __entry->ins_tree_depth = ins_tree_depth; 453 ), 454 TP_printk("%u %u %d %d %d", 455 __entry->ins_appending, __entry->ins_contig, 456 __entry->ins_contig_index, __entry->free_records, 457 __entry->ins_tree_depth) 458 ); 459 460 TRACE_EVENT(ocfs2_split_extent, 461 TP_PROTO(int split_index, unsigned int c_contig_type, 462 unsigned int c_has_empty_extent, 463 unsigned int c_split_covers_rec), 464 TP_ARGS(split_index, c_contig_type, 465 c_has_empty_extent, c_split_covers_rec), 466 TP_STRUCT__entry( 467 __field(int, split_index) 468 __field(unsigned int, c_contig_type) 469 __field(unsigned int, c_has_empty_extent) 470 __field(unsigned int, c_split_covers_rec) 471 ), 472 TP_fast_assign( 473 __entry->split_index = split_index; 474 __entry->c_contig_type = c_contig_type; 475 __entry->c_has_empty_extent = c_has_empty_extent; 476 __entry->c_split_covers_rec = c_split_covers_rec; 477 ), 478 TP_printk("%d %u %u %u", __entry->split_index, __entry->c_contig_type, 479 __entry->c_has_empty_extent, __entry->c_split_covers_rec) 480 ); 481 482 TRACE_EVENT(ocfs2_remove_extent, 483 TP_PROTO(unsigned long long owner, unsigned int cpos, 484 unsigned int len, int index, 485 unsigned int e_cpos, unsigned int clusters), 486 TP_ARGS(owner, cpos, len, index, e_cpos, clusters), 487 TP_STRUCT__entry( 488 __field(unsigned long long, owner) 489 __field(unsigned int, cpos) 490 __field(unsigned int, len) 491 __field(int, index) 492 __field(unsigned int, e_cpos) 493 __field(unsigned int, clusters) 494 ), 495 TP_fast_assign( 496 __entry->owner = owner; 497 __entry->cpos = cpos; 498 __entry->len = len; 499 __entry->index = index; 500 __entry->e_cpos = e_cpos; 501 __entry->clusters = clusters; 502 ), 503 TP_printk("%llu %u %u %d %u %u", 504 __entry->owner, __entry->cpos, __entry->len, __entry->index, 505 __entry->e_cpos, __entry->clusters) 506 ); 507 508 TRACE_EVENT(ocfs2_commit_truncate, 509 TP_PROTO(unsigned long long ino, unsigned int new_cpos, 510 unsigned int clusters, unsigned int depth), 511 TP_ARGS(ino, new_cpos, clusters, depth), 512 TP_STRUCT__entry( 513 __field(unsigned long long, ino) 514 __field(unsigned int, new_cpos) 515 __field(unsigned int, clusters) 516 __field(unsigned int, depth) 517 ), 518 TP_fast_assign( 519 __entry->ino = ino; 520 __entry->new_cpos = new_cpos; 521 __entry->clusters = clusters; 522 __entry->depth = depth; 523 ), 524 TP_printk("%llu %u %u %u", 525 __entry->ino, __entry->new_cpos, 526 __entry->clusters, __entry->depth) 527 ); 528 529 TRACE_EVENT(ocfs2_validate_extent_block, 530 TP_PROTO(unsigned long long blkno), 531 TP_ARGS(blkno), 532 TP_STRUCT__entry( 533 __field(unsigned long long, blkno) 534 ), 535 TP_fast_assign( 536 __entry->blkno = blkno; 537 ), 538 TP_printk("%llu ", __entry->blkno) 539 ); 540 541 TRACE_EVENT(ocfs2_rotate_leaf, 542 TP_PROTO(unsigned int insert_cpos, int insert_index, 543 int has_empty, int next_free, 544 unsigned int l_count), 545 TP_ARGS(insert_cpos, insert_index, has_empty, 546 next_free, l_count), 547 TP_STRUCT__entry( 548 __field(unsigned int, insert_cpos) 549 __field(int, insert_index) 550 __field(int, has_empty) 551 __field(int, next_free) 552 __field(unsigned int, l_count) 553 ), 554 TP_fast_assign( 555 __entry->insert_cpos = insert_cpos; 556 __entry->insert_index = insert_index; 557 __entry->has_empty = has_empty; 558 __entry->next_free = next_free; 559 __entry->l_count = l_count; 560 ), 561 TP_printk("%u %d %d %d %u", __entry->insert_cpos, 562 __entry->insert_index, __entry->has_empty, 563 __entry->next_free, __entry->l_count) 564 ); 565 566 TRACE_EVENT(ocfs2_add_clusters_in_btree_ret, 567 TP_PROTO(int status, int reason, int err), 568 TP_ARGS(status, reason, err), 569 TP_STRUCT__entry( 570 __field(int, status) 571 __field(int, reason) 572 __field(int, err) 573 ), 574 TP_fast_assign( 575 __entry->status = status; 576 __entry->reason = reason; 577 __entry->err = err; 578 ), 579 TP_printk("%d %d %d", __entry->status, 580 __entry->reason, __entry->err) 581 ); 582 583 TRACE_EVENT(ocfs2_mark_extent_written, 584 TP_PROTO(unsigned long long owner, unsigned int cpos, 585 unsigned int len, unsigned int phys), 586 TP_ARGS(owner, cpos, len, phys), 587 TP_STRUCT__entry( 588 __field(unsigned long long, owner) 589 __field(unsigned int, cpos) 590 __field(unsigned int, len) 591 __field(unsigned int, phys) 592 ), 593 TP_fast_assign( 594 __entry->owner = owner; 595 __entry->cpos = cpos; 596 __entry->len = len; 597 __entry->phys = phys; 598 ), 599 TP_printk("%llu %u %u %u", 600 __entry->owner, __entry->cpos, 601 __entry->len, __entry->phys) 602 ); 603 604 DECLARE_EVENT_CLASS(ocfs2__truncate_log_ops, 605 TP_PROTO(unsigned long long blkno, int index, 606 unsigned int start, unsigned int num), 607 TP_ARGS(blkno, index, start, num), 608 TP_STRUCT__entry( 609 __field(unsigned long long, blkno) 610 __field(int, index) 611 __field(unsigned int, start) 612 __field(unsigned int, num) 613 ), 614 TP_fast_assign( 615 __entry->blkno = blkno; 616 __entry->index = index; 617 __entry->start = start; 618 __entry->num = num; 619 ), 620 TP_printk("%llu %d %u %u", 621 __entry->blkno, __entry->index, 622 __entry->start, __entry->num) 623 ); 624 625 #define DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(name) \ 626 DEFINE_EVENT(ocfs2__truncate_log_ops, name, \ 627 TP_PROTO(unsigned long long blkno, int index, \ 628 unsigned int start, unsigned int num), \ 629 TP_ARGS(blkno, index, start, num)) 630 631 DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(ocfs2_truncate_log_append); 632 633 DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(ocfs2_replay_truncate_records); 634 635 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_flush_truncate_log); 636 637 DEFINE_OCFS2_INT_EVENT(ocfs2_begin_truncate_log_recovery); 638 639 DEFINE_OCFS2_INT_EVENT(ocfs2_truncate_log_recovery_num); 640 641 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_complete_truncate_log_recovery); 642 643 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_free_cached_blocks); 644 645 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_cache_cluster_dealloc); 646 647 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_run_deallocs); 648 649 TRACE_EVENT(ocfs2_cache_block_dealloc, 650 TP_PROTO(int type, int slot, unsigned long long suballoc, 651 unsigned long long blkno, unsigned int bit), 652 TP_ARGS(type, slot, suballoc, blkno, bit), 653 TP_STRUCT__entry( 654 __field(int, type) 655 __field(int, slot) 656 __field(unsigned long long, suballoc) 657 __field(unsigned long long, blkno) 658 __field(unsigned int, bit) 659 ), 660 TP_fast_assign( 661 __entry->type = type; 662 __entry->slot = slot; 663 __entry->suballoc = suballoc; 664 __entry->blkno = blkno; 665 __entry->bit = bit; 666 ), 667 TP_printk("%d %d %llu %llu %u", 668 __entry->type, __entry->slot, __entry->suballoc, 669 __entry->blkno, __entry->bit) 670 ); 671 672 /* End of trace events for fs/ocfs2/alloc.c. */ 673 674 /* Trace events for fs/ocfs2/localalloc.c. */ 675 676 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_la_set_sizes); 677 678 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_alloc_should_use_local); 679 680 DEFINE_OCFS2_INT_EVENT(ocfs2_load_local_alloc); 681 682 DEFINE_OCFS2_INT_EVENT(ocfs2_begin_local_alloc_recovery); 683 684 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_reserve_local_alloc_bits); 685 686 DEFINE_OCFS2_UINT_EVENT(ocfs2_local_alloc_count_bits); 687 688 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_local_alloc_find_clear_bits_search_bitmap); 689 690 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_local_alloc_find_clear_bits); 691 692 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_sync_local_to_main); 693 694 TRACE_EVENT(ocfs2_sync_local_to_main_free, 695 TP_PROTO(int count, int bit, unsigned long long start_blk, 696 unsigned long long blkno), 697 TP_ARGS(count, bit, start_blk, blkno), 698 TP_STRUCT__entry( 699 __field(int, count) 700 __field(int, bit) 701 __field(unsigned long long, start_blk) 702 __field(unsigned long long, blkno) 703 ), 704 TP_fast_assign( 705 __entry->count = count; 706 __entry->bit = bit; 707 __entry->start_blk = start_blk; 708 __entry->blkno = blkno; 709 ), 710 TP_printk("%d %d %llu %llu", 711 __entry->count, __entry->bit, __entry->start_blk, 712 __entry->blkno) 713 ); 714 715 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_local_alloc_new_window); 716 717 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_local_alloc_new_window_result); 718 719 /* End of trace events for fs/ocfs2/localalloc.c. */ 720 721 /* Trace events for fs/ocfs2/resize.c. */ 722 723 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_update_last_group_and_inode); 724 725 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_group_extend); 726 727 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_group_add); 728 729 /* End of trace events for fs/ocfs2/resize.c. */ 730 731 /* Trace events for fs/ocfs2/suballoc.c. */ 732 733 DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_group_descriptor); 734 735 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_block_group_alloc_contig); 736 737 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_block_group_alloc_discontig); 738 739 DEFINE_OCFS2_ULL_EVENT(ocfs2_block_group_alloc); 740 741 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_reserve_suballoc_bits_nospc); 742 743 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_reserve_suballoc_bits_no_new_group); 744 745 DEFINE_OCFS2_ULL_EVENT(ocfs2_reserve_new_inode_new_group); 746 747 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_block_group_set_bits); 748 749 TRACE_EVENT(ocfs2_relink_block_group, 750 TP_PROTO(unsigned long long i_blkno, unsigned int chain, 751 unsigned long long bg_blkno, 752 unsigned long long prev_blkno), 753 TP_ARGS(i_blkno, chain, bg_blkno, prev_blkno), 754 TP_STRUCT__entry( 755 __field(unsigned long long, i_blkno) 756 __field(unsigned int, chain) 757 __field(unsigned long long, bg_blkno) 758 __field(unsigned long long, prev_blkno) 759 ), 760 TP_fast_assign( 761 __entry->i_blkno = i_blkno; 762 __entry->chain = chain; 763 __entry->bg_blkno = bg_blkno; 764 __entry->prev_blkno = prev_blkno; 765 ), 766 TP_printk("%llu %u %llu %llu", 767 __entry->i_blkno, __entry->chain, __entry->bg_blkno, 768 __entry->prev_blkno) 769 ); 770 771 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_cluster_group_search_wrong_max_bits); 772 773 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_cluster_group_search_max_block); 774 775 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_block_group_search_max_block); 776 777 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_search_chain_begin); 778 779 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_search_chain_succ); 780 781 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_search_chain_end); 782 783 DEFINE_OCFS2_UINT_EVENT(ocfs2_claim_suballoc_bits); 784 785 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_claim_new_inode_at_loc); 786 787 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_block_group_clear_bits); 788 789 TRACE_EVENT(ocfs2_free_suballoc_bits, 790 TP_PROTO(unsigned long long inode, unsigned long long group, 791 unsigned int start_bit, unsigned int count), 792 TP_ARGS(inode, group, start_bit, count), 793 TP_STRUCT__entry( 794 __field(unsigned long long, inode) 795 __field(unsigned long long, group) 796 __field(unsigned int, start_bit) 797 __field(unsigned int, count) 798 ), 799 TP_fast_assign( 800 __entry->inode = inode; 801 __entry->group = group; 802 __entry->start_bit = start_bit; 803 __entry->count = count; 804 ), 805 TP_printk("%llu %llu %u %u", __entry->inode, __entry->group, 806 __entry->start_bit, __entry->count) 807 ); 808 809 TRACE_EVENT(ocfs2_free_clusters, 810 TP_PROTO(unsigned long long bg_blkno, unsigned long long start_blk, 811 unsigned int start_bit, unsigned int count), 812 TP_ARGS(bg_blkno, start_blk, start_bit, count), 813 TP_STRUCT__entry( 814 __field(unsigned long long, bg_blkno) 815 __field(unsigned long long, start_blk) 816 __field(unsigned int, start_bit) 817 __field(unsigned int, count) 818 ), 819 TP_fast_assign( 820 __entry->bg_blkno = bg_blkno; 821 __entry->start_blk = start_blk; 822 __entry->start_bit = start_bit; 823 __entry->count = count; 824 ), 825 TP_printk("%llu %llu %u %u", __entry->bg_blkno, __entry->start_blk, 826 __entry->start_bit, __entry->count) 827 ); 828 829 DEFINE_OCFS2_ULL_EVENT(ocfs2_get_suballoc_slot_bit); 830 831 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_test_suballoc_bit); 832 833 DEFINE_OCFS2_ULL_EVENT(ocfs2_test_inode_bit); 834 835 /* End of trace events for fs/ocfs2/suballoc.c. */ 836 837 /* Trace events for fs/ocfs2/refcounttree.c. */ 838 839 DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_refcount_block); 840 841 DEFINE_OCFS2_ULL_EVENT(ocfs2_purge_refcount_trees); 842 843 DEFINE_OCFS2_ULL_EVENT(ocfs2_create_refcount_tree); 844 845 DEFINE_OCFS2_ULL_EVENT(ocfs2_create_refcount_tree_blkno); 846 847 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_change_refcount_rec); 848 849 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_expand_inline_ref_root); 850 851 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_divide_leaf_refcount_block); 852 853 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_new_leaf_refcount_block); 854 855 DECLARE_EVENT_CLASS(ocfs2__refcount_tree_ops, 856 TP_PROTO(unsigned long long blkno, int index, 857 unsigned long long cpos, 858 unsigned int clusters, unsigned int refcount), 859 TP_ARGS(blkno, index, cpos, clusters, refcount), 860 TP_STRUCT__entry( 861 __field(unsigned long long, blkno) 862 __field(int, index) 863 __field(unsigned long long, cpos) 864 __field(unsigned int, clusters) 865 __field(unsigned int, refcount) 866 ), 867 TP_fast_assign( 868 __entry->blkno = blkno; 869 __entry->index = index; 870 __entry->cpos = cpos; 871 __entry->clusters = clusters; 872 __entry->refcount = refcount; 873 ), 874 TP_printk("%llu %d %llu %u %u", __entry->blkno, __entry->index, 875 __entry->cpos, __entry->clusters, __entry->refcount) 876 ); 877 878 #define DEFINE_OCFS2_REFCOUNT_TREE_OPS_EVENT(name) \ 879 DEFINE_EVENT(ocfs2__refcount_tree_ops, name, \ 880 TP_PROTO(unsigned long long blkno, int index, \ 881 unsigned long long cpos, \ 882 unsigned int count, unsigned int refcount), \ 883 TP_ARGS(blkno, index, cpos, count, refcount)) 884 885 DEFINE_OCFS2_REFCOUNT_TREE_OPS_EVENT(ocfs2_insert_refcount_rec); 886 887 TRACE_EVENT(ocfs2_split_refcount_rec, 888 TP_PROTO(unsigned long long cpos, 889 unsigned int clusters, unsigned int refcount, 890 unsigned long long split_cpos, 891 unsigned int split_clusters, unsigned int split_refcount), 892 TP_ARGS(cpos, clusters, refcount, 893 split_cpos, split_clusters, split_refcount), 894 TP_STRUCT__entry( 895 __field(unsigned long long, cpos) 896 __field(unsigned int, clusters) 897 __field(unsigned int, refcount) 898 __field(unsigned long long, split_cpos) 899 __field(unsigned int, split_clusters) 900 __field(unsigned int, split_refcount) 901 ), 902 TP_fast_assign( 903 __entry->cpos = cpos; 904 __entry->clusters = clusters; 905 __entry->refcount = refcount; 906 __entry->split_cpos = split_cpos; 907 __entry->split_clusters = split_clusters; 908 __entry->split_refcount = split_refcount; 909 ), 910 TP_printk("%llu %u %u %llu %u %u", 911 __entry->cpos, __entry->clusters, __entry->refcount, 912 __entry->split_cpos, __entry->split_clusters, 913 __entry->split_refcount) 914 ); 915 916 DEFINE_OCFS2_REFCOUNT_TREE_OPS_EVENT(ocfs2_split_refcount_rec_insert); 917 918 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_increase_refcount_begin); 919 920 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_increase_refcount_change); 921 922 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_increase_refcount_insert); 923 924 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_increase_refcount_split); 925 926 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_remove_refcount_extent); 927 928 DEFINE_OCFS2_ULL_EVENT(ocfs2_restore_refcount_block); 929 930 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_decrease_refcount_rec); 931 932 TRACE_EVENT(ocfs2_decrease_refcount, 933 TP_PROTO(unsigned long long owner, 934 unsigned long long cpos, 935 unsigned int len, int delete), 936 TP_ARGS(owner, cpos, len, delete), 937 TP_STRUCT__entry( 938 __field(unsigned long long, owner) 939 __field(unsigned long long, cpos) 940 __field(unsigned int, len) 941 __field(int, delete) 942 ), 943 TP_fast_assign( 944 __entry->owner = owner; 945 __entry->cpos = cpos; 946 __entry->len = len; 947 __entry->delete = delete; 948 ), 949 TP_printk("%llu %llu %u %d", 950 __entry->owner, __entry->cpos, __entry->len, __entry->delete) 951 ); 952 953 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_mark_extent_refcounted); 954 955 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_calc_refcount_meta_credits); 956 957 TRACE_EVENT(ocfs2_calc_refcount_meta_credits_iterate, 958 TP_PROTO(int recs_add, unsigned long long cpos, 959 unsigned int clusters, unsigned long long r_cpos, 960 unsigned int r_clusters, unsigned int refcount, int index), 961 TP_ARGS(recs_add, cpos, clusters, r_cpos, r_clusters, refcount, index), 962 TP_STRUCT__entry( 963 __field(int, recs_add) 964 __field(unsigned long long, cpos) 965 __field(unsigned int, clusters) 966 __field(unsigned long long, r_cpos) 967 __field(unsigned int, r_clusters) 968 __field(unsigned int, refcount) 969 __field(int, index) 970 ), 971 TP_fast_assign( 972 __entry->recs_add = recs_add; 973 __entry->cpos = cpos; 974 __entry->clusters = clusters; 975 __entry->r_cpos = r_cpos; 976 __entry->r_clusters = r_clusters; 977 __entry->refcount = refcount; 978 __entry->index = index; 979 ), 980 TP_printk("%d %llu %u %llu %u %u %d", 981 __entry->recs_add, __entry->cpos, __entry->clusters, 982 __entry->r_cpos, __entry->r_clusters, 983 __entry->refcount, __entry->index) 984 ); 985 986 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_add_refcount_flag); 987 988 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_prepare_refcount_change_for_del); 989 990 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_lock_refcount_allocators); 991 992 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_duplicate_clusters_by_page); 993 994 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_duplicate_clusters_by_jbd); 995 996 TRACE_EVENT(ocfs2_clear_ext_refcount, 997 TP_PROTO(unsigned long long ino, unsigned int cpos, 998 unsigned int len, unsigned int p_cluster, 999 unsigned int ext_flags), 1000 TP_ARGS(ino, cpos, len, p_cluster, ext_flags), 1001 TP_STRUCT__entry( 1002 __field(unsigned long long, ino) 1003 __field(unsigned int, cpos) 1004 __field(unsigned int, len) 1005 __field(unsigned int, p_cluster) 1006 __field(unsigned int, ext_flags) 1007 ), 1008 TP_fast_assign( 1009 __entry->ino = ino; 1010 __entry->cpos = cpos; 1011 __entry->len = len; 1012 __entry->p_cluster = p_cluster; 1013 __entry->ext_flags = ext_flags; 1014 ), 1015 TP_printk("%llu %u %u %u %u", 1016 __entry->ino, __entry->cpos, __entry->len, 1017 __entry->p_cluster, __entry->ext_flags) 1018 ); 1019 1020 TRACE_EVENT(ocfs2_replace_clusters, 1021 TP_PROTO(unsigned long long ino, unsigned int cpos, 1022 unsigned int old, unsigned int new, unsigned int len, 1023 unsigned int ext_flags), 1024 TP_ARGS(ino, cpos, old, new, len, ext_flags), 1025 TP_STRUCT__entry( 1026 __field(unsigned long long, ino) 1027 __field(unsigned int, cpos) 1028 __field(unsigned int, old) 1029 __field(unsigned int, new) 1030 __field(unsigned int, len) 1031 __field(unsigned int, ext_flags) 1032 ), 1033 TP_fast_assign( 1034 __entry->ino = ino; 1035 __entry->cpos = cpos; 1036 __entry->old = old; 1037 __entry->new = new; 1038 __entry->len = len; 1039 __entry->ext_flags = ext_flags; 1040 ), 1041 TP_printk("%llu %u %u %u %u %u", 1042 __entry->ino, __entry->cpos, __entry->old, __entry->new, 1043 __entry->len, __entry->ext_flags) 1044 ); 1045 1046 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_make_clusters_writable); 1047 1048 TRACE_EVENT(ocfs2_refcount_cow_hunk, 1049 TP_PROTO(unsigned long long ino, unsigned int cpos, 1050 unsigned int write_len, unsigned int max_cpos, 1051 unsigned int cow_start, unsigned int cow_len), 1052 TP_ARGS(ino, cpos, write_len, max_cpos, cow_start, cow_len), 1053 TP_STRUCT__entry( 1054 __field(unsigned long long, ino) 1055 __field(unsigned int, cpos) 1056 __field(unsigned int, write_len) 1057 __field(unsigned int, max_cpos) 1058 __field(unsigned int, cow_start) 1059 __field(unsigned int, cow_len) 1060 ), 1061 TP_fast_assign( 1062 __entry->ino = ino; 1063 __entry->cpos = cpos; 1064 __entry->write_len = write_len; 1065 __entry->max_cpos = max_cpos; 1066 __entry->cow_start = cow_start; 1067 __entry->cow_len = cow_len; 1068 ), 1069 TP_printk("%llu %u %u %u %u %u", 1070 __entry->ino, __entry->cpos, __entry->write_len, 1071 __entry->max_cpos, __entry->cow_start, __entry->cow_len) 1072 ); 1073 1074 /* End of trace events for fs/ocfs2/refcounttree.c. */ 1075 1076 /* Trace events for fs/ocfs2/aops.c. */ 1077 1078 DECLARE_EVENT_CLASS(ocfs2__get_block, 1079 TP_PROTO(unsigned long long ino, unsigned long long iblock, 1080 void *bh_result, int create), 1081 TP_ARGS(ino, iblock, bh_result, create), 1082 TP_STRUCT__entry( 1083 __field(unsigned long long, ino) 1084 __field(unsigned long long, iblock) 1085 __field(void *, bh_result) 1086 __field(int, create) 1087 ), 1088 TP_fast_assign( 1089 __entry->ino = ino; 1090 __entry->iblock = iblock; 1091 __entry->bh_result = bh_result; 1092 __entry->create = create; 1093 ), 1094 TP_printk("%llu %llu %p %d", 1095 __entry->ino, __entry->iblock, 1096 __entry->bh_result, __entry->create) 1097 ); 1098 1099 #define DEFINE_OCFS2_GET_BLOCK_EVENT(name) \ 1100 DEFINE_EVENT(ocfs2__get_block, name, \ 1101 TP_PROTO(unsigned long long ino, unsigned long long iblock, \ 1102 void *bh_result, int create), \ 1103 TP_ARGS(ino, iblock, bh_result, create)) 1104 1105 DEFINE_OCFS2_GET_BLOCK_EVENT(ocfs2_symlink_get_block); 1106 1107 DEFINE_OCFS2_GET_BLOCK_EVENT(ocfs2_get_block); 1108 1109 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_get_block_end); 1110 1111 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_readpage); 1112 1113 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_writepage); 1114 1115 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_bmap); 1116 1117 TRACE_EVENT(ocfs2_try_to_write_inline_data, 1118 TP_PROTO(unsigned long long ino, unsigned int len, 1119 unsigned long long pos, unsigned int flags), 1120 TP_ARGS(ino, len, pos, flags), 1121 TP_STRUCT__entry( 1122 __field(unsigned long long, ino) 1123 __field(unsigned int, len) 1124 __field(unsigned long long, pos) 1125 __field(unsigned int, flags) 1126 ), 1127 TP_fast_assign( 1128 __entry->ino = ino; 1129 __entry->len = len; 1130 __entry->pos = pos; 1131 __entry->flags = flags; 1132 ), 1133 TP_printk("%llu %u %llu 0x%x", 1134 __entry->ino, __entry->len, __entry->pos, __entry->flags) 1135 ); 1136 1137 TRACE_EVENT(ocfs2_write_begin_nolock, 1138 TP_PROTO(unsigned long long ino, 1139 long long i_size, unsigned int i_clusters, 1140 unsigned long long pos, unsigned int len, 1141 unsigned int flags, void *page, 1142 unsigned int clusters, unsigned int extents_to_split), 1143 TP_ARGS(ino, i_size, i_clusters, pos, len, flags, 1144 page, clusters, extents_to_split), 1145 TP_STRUCT__entry( 1146 __field(unsigned long long, ino) 1147 __field(long long, i_size) 1148 __field(unsigned int, i_clusters) 1149 __field(unsigned long long, pos) 1150 __field(unsigned int, len) 1151 __field(unsigned int, flags) 1152 __field(void *, page) 1153 __field(unsigned int, clusters) 1154 __field(unsigned int, extents_to_split) 1155 ), 1156 TP_fast_assign( 1157 __entry->ino = ino; 1158 __entry->i_size = i_size; 1159 __entry->i_clusters = i_clusters; 1160 __entry->pos = pos; 1161 __entry->len = len; 1162 __entry->flags = flags; 1163 __entry->page = page; 1164 __entry->clusters = clusters; 1165 __entry->extents_to_split = extents_to_split; 1166 ), 1167 TP_printk("%llu %lld %u %llu %u %u %p %u %u", 1168 __entry->ino, __entry->i_size, __entry->i_clusters, 1169 __entry->pos, __entry->len, 1170 __entry->flags, __entry->page, __entry->clusters, 1171 __entry->extents_to_split) 1172 ); 1173 1174 TRACE_EVENT(ocfs2_write_end_inline, 1175 TP_PROTO(unsigned long long ino, 1176 unsigned long long pos, unsigned int copied, 1177 unsigned int id_count, unsigned int features), 1178 TP_ARGS(ino, pos, copied, id_count, features), 1179 TP_STRUCT__entry( 1180 __field(unsigned long long, ino) 1181 __field(unsigned long long, pos) 1182 __field(unsigned int, copied) 1183 __field(unsigned int, id_count) 1184 __field(unsigned int, features) 1185 ), 1186 TP_fast_assign( 1187 __entry->ino = ino; 1188 __entry->pos = pos; 1189 __entry->copied = copied; 1190 __entry->id_count = id_count; 1191 __entry->features = features; 1192 ), 1193 TP_printk("%llu %llu %u %u %u", 1194 __entry->ino, __entry->pos, __entry->copied, 1195 __entry->id_count, __entry->features) 1196 ); 1197 1198 /* End of trace events for fs/ocfs2/aops.c. */ 1199 1200 /* Trace events for fs/ocfs2/mmap.c. */ 1201 1202 TRACE_EVENT(ocfs2_fault, 1203 TP_PROTO(unsigned long long ino, 1204 void *area, void *page, unsigned long pgoff), 1205 TP_ARGS(ino, area, page, pgoff), 1206 TP_STRUCT__entry( 1207 __field(unsigned long long, ino) 1208 __field(void *, area) 1209 __field(void *, page) 1210 __field(unsigned long, pgoff) 1211 ), 1212 TP_fast_assign( 1213 __entry->ino = ino; 1214 __entry->area = area; 1215 __entry->page = page; 1216 __entry->pgoff = pgoff; 1217 ), 1218 TP_printk("%llu %p %p %lu", 1219 __entry->ino, __entry->area, __entry->page, __entry->pgoff) 1220 ); 1221 1222 /* End of trace events for fs/ocfs2/mmap.c. */ 1223 1224 /* Trace events for fs/ocfs2/file.c. */ 1225 1226 DECLARE_EVENT_CLASS(ocfs2__file_ops, 1227 TP_PROTO(void *inode, void *file, void *dentry, 1228 unsigned long long ino, 1229 unsigned int d_len, const unsigned char *d_name, 1230 unsigned long long para), 1231 TP_ARGS(inode, file, dentry, ino, d_len, d_name, para), 1232 TP_STRUCT__entry( 1233 __field(void *, inode) 1234 __field(void *, file) 1235 __field(void *, dentry) 1236 __field(unsigned long long, ino) 1237 __field(unsigned int, d_len) 1238 __string(d_name, d_name) 1239 __field(unsigned long long, para) 1240 ), 1241 TP_fast_assign( 1242 __entry->inode = inode; 1243 __entry->file = file; 1244 __entry->dentry = dentry; 1245 __entry->ino = ino; 1246 __entry->d_len = d_len; 1247 __assign_str(d_name, d_name); 1248 __entry->para = para; 1249 ), 1250 TP_printk("%p %p %p %llu %llu %.*s", __entry->inode, __entry->file, 1251 __entry->dentry, __entry->ino, __entry->para, 1252 __entry->d_len, __get_str(d_name)) 1253 ); 1254 1255 #define DEFINE_OCFS2_FILE_OPS(name) \ 1256 DEFINE_EVENT(ocfs2__file_ops, name, \ 1257 TP_PROTO(void *inode, void *file, void *dentry, \ 1258 unsigned long long ino, \ 1259 unsigned int d_len, const unsigned char *d_name, \ 1260 unsigned long long mode), \ 1261 TP_ARGS(inode, file, dentry, ino, d_len, d_name, mode)) 1262 1263 DEFINE_OCFS2_FILE_OPS(ocfs2_file_open); 1264 1265 DEFINE_OCFS2_FILE_OPS(ocfs2_file_release); 1266 1267 DEFINE_OCFS2_FILE_OPS(ocfs2_sync_file); 1268 1269 DEFINE_OCFS2_FILE_OPS(ocfs2_file_aio_write); 1270 1271 DEFINE_OCFS2_FILE_OPS(ocfs2_file_splice_write); 1272 1273 DEFINE_OCFS2_FILE_OPS(ocfs2_file_splice_read); 1274 1275 DEFINE_OCFS2_FILE_OPS(ocfs2_file_aio_read); 1276 1277 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_truncate_file); 1278 1279 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_truncate_file_error); 1280 1281 TRACE_EVENT(ocfs2_extend_allocation, 1282 TP_PROTO(unsigned long long ip_blkno, unsigned long long size, 1283 unsigned int clusters, unsigned int clusters_to_add, 1284 int why, int restart_func), 1285 TP_ARGS(ip_blkno, size, clusters, clusters_to_add, why, restart_func), 1286 TP_STRUCT__entry( 1287 __field(unsigned long long, ip_blkno) 1288 __field(unsigned long long, size) 1289 __field(unsigned int, clusters) 1290 __field(unsigned int, clusters_to_add) 1291 __field(int, why) 1292 __field(int, restart_func) 1293 ), 1294 TP_fast_assign( 1295 __entry->ip_blkno = ip_blkno; 1296 __entry->size = size; 1297 __entry->clusters = clusters; 1298 __entry->clusters_to_add = clusters_to_add; 1299 __entry->why = why; 1300 __entry->restart_func = restart_func; 1301 ), 1302 TP_printk("%llu %llu %u %u %d %d", 1303 __entry->ip_blkno, __entry->size, __entry->clusters, 1304 __entry->clusters_to_add, __entry->why, __entry->restart_func) 1305 ); 1306 1307 TRACE_EVENT(ocfs2_extend_allocation_end, 1308 TP_PROTO(unsigned long long ino, 1309 unsigned int di_clusters, unsigned long long di_size, 1310 unsigned int ip_clusters, unsigned long long i_size), 1311 TP_ARGS(ino, di_clusters, di_size, ip_clusters, i_size), 1312 TP_STRUCT__entry( 1313 __field(unsigned long long, ino) 1314 __field(unsigned int, di_clusters) 1315 __field(unsigned long long, di_size) 1316 __field(unsigned int, ip_clusters) 1317 __field(unsigned long long, i_size) 1318 ), 1319 TP_fast_assign( 1320 __entry->ino = ino; 1321 __entry->di_clusters = di_clusters; 1322 __entry->di_size = di_size; 1323 __entry->ip_clusters = ip_clusters; 1324 __entry->i_size = i_size; 1325 ), 1326 TP_printk("%llu %u %llu %u %llu", __entry->ino, __entry->di_clusters, 1327 __entry->di_size, __entry->ip_clusters, __entry->i_size) 1328 ); 1329 1330 TRACE_EVENT(ocfs2_write_zero_page, 1331 TP_PROTO(unsigned long long ino, 1332 unsigned long long abs_from, unsigned long long abs_to, 1333 unsigned long index, unsigned int zero_from, 1334 unsigned int zero_to), 1335 TP_ARGS(ino, abs_from, abs_to, index, zero_from, zero_to), 1336 TP_STRUCT__entry( 1337 __field(unsigned long long, ino) 1338 __field(unsigned long long, abs_from) 1339 __field(unsigned long long, abs_to) 1340 __field(unsigned long, index) 1341 __field(unsigned int, zero_from) 1342 __field(unsigned int, zero_to) 1343 ), 1344 TP_fast_assign( 1345 __entry->ino = ino; 1346 __entry->abs_from = abs_from; 1347 __entry->abs_to = abs_to; 1348 __entry->index = index; 1349 __entry->zero_from = zero_from; 1350 __entry->zero_to = zero_to; 1351 ), 1352 TP_printk("%llu %llu %llu %lu %u %u", __entry->ino, 1353 __entry->abs_from, __entry->abs_to, 1354 __entry->index, __entry->zero_from, __entry->zero_to) 1355 ); 1356 1357 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_zero_extend_range); 1358 1359 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_zero_extend); 1360 1361 TRACE_EVENT(ocfs2_setattr, 1362 TP_PROTO(void *inode, void *dentry, 1363 unsigned long long ino, 1364 unsigned int d_len, const unsigned char *d_name, 1365 unsigned int ia_valid, unsigned int ia_mode, 1366 unsigned int ia_uid, unsigned int ia_gid), 1367 TP_ARGS(inode, dentry, ino, d_len, d_name, 1368 ia_valid, ia_mode, ia_uid, ia_gid), 1369 TP_STRUCT__entry( 1370 __field(void *, inode) 1371 __field(void *, dentry) 1372 __field(unsigned long long, ino) 1373 __field(unsigned int, d_len) 1374 __string(d_name, d_name) 1375 __field(unsigned int, ia_valid) 1376 __field(unsigned int, ia_mode) 1377 __field(unsigned int, ia_uid) 1378 __field(unsigned int, ia_gid) 1379 ), 1380 TP_fast_assign( 1381 __entry->inode = inode; 1382 __entry->dentry = dentry; 1383 __entry->ino = ino; 1384 __entry->d_len = d_len; 1385 __assign_str(d_name, d_name); 1386 __entry->ia_valid = ia_valid; 1387 __entry->ia_mode = ia_mode; 1388 __entry->ia_uid = ia_uid; 1389 __entry->ia_gid = ia_gid; 1390 ), 1391 TP_printk("%p %p %llu %.*s %u %u %u %u", __entry->inode, 1392 __entry->dentry, __entry->ino, __entry->d_len, 1393 __get_str(d_name), __entry->ia_valid, __entry->ia_mode, 1394 __entry->ia_uid, __entry->ia_gid) 1395 ); 1396 1397 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_write_remove_suid); 1398 1399 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_zero_partial_clusters); 1400 1401 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_zero_partial_clusters_range1); 1402 1403 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_zero_partial_clusters_range2); 1404 1405 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_remove_inode_range); 1406 1407 TRACE_EVENT(ocfs2_prepare_inode_for_write, 1408 TP_PROTO(unsigned long long ino, unsigned long long saved_pos, 1409 int appending, unsigned long count, 1410 int *direct_io, int *has_refcount), 1411 TP_ARGS(ino, saved_pos, appending, count, direct_io, has_refcount), 1412 TP_STRUCT__entry( 1413 __field(unsigned long long, ino) 1414 __field(unsigned long long, saved_pos) 1415 __field(int, appending) 1416 __field(unsigned long, count) 1417 __field(int, direct_io) 1418 __field(int, has_refcount) 1419 ), 1420 TP_fast_assign( 1421 __entry->ino = ino; 1422 __entry->saved_pos = saved_pos; 1423 __entry->appending = appending; 1424 __entry->count = count; 1425 __entry->direct_io = direct_io ? *direct_io : -1; 1426 __entry->has_refcount = has_refcount ? *has_refcount : -1; 1427 ), 1428 TP_printk("%llu %llu %d %lu %d %d", __entry->ino, 1429 __entry->saved_pos, __entry->appending, __entry->count, 1430 __entry->direct_io, __entry->has_refcount) 1431 ); 1432 1433 DEFINE_OCFS2_INT_EVENT(generic_file_aio_read_ret); 1434 1435 /* End of trace events for fs/ocfs2/file.c. */ 1436 1437 /* Trace events for fs/ocfs2/inode.c. */ 1438 1439 TRACE_EVENT(ocfs2_iget_begin, 1440 TP_PROTO(unsigned long long ino, unsigned int flags, int sysfile_type), 1441 TP_ARGS(ino, flags, sysfile_type), 1442 TP_STRUCT__entry( 1443 __field(unsigned long long, ino) 1444 __field(unsigned int, flags) 1445 __field(int, sysfile_type) 1446 ), 1447 TP_fast_assign( 1448 __entry->ino = ino; 1449 __entry->flags = flags; 1450 __entry->sysfile_type = sysfile_type; 1451 ), 1452 TP_printk("%llu %u %d", __entry->ino, 1453 __entry->flags, __entry->sysfile_type) 1454 ); 1455 1456 DEFINE_OCFS2_ULL_EVENT(ocfs2_iget5_locked); 1457 1458 TRACE_EVENT(ocfs2_iget_end, 1459 TP_PROTO(void *inode, unsigned long long ino), 1460 TP_ARGS(inode, ino), 1461 TP_STRUCT__entry( 1462 __field(void *, inode) 1463 __field(unsigned long long, ino) 1464 ), 1465 TP_fast_assign( 1466 __entry->inode = inode; 1467 __entry->ino = ino; 1468 ), 1469 TP_printk("%p %llu", __entry->inode, __entry->ino) 1470 ); 1471 1472 TRACE_EVENT(ocfs2_find_actor, 1473 TP_PROTO(void *inode, unsigned long long ino, 1474 void *args, unsigned long long fi_blkno), 1475 TP_ARGS(inode, ino, args, fi_blkno), 1476 TP_STRUCT__entry( 1477 __field(void *, inode) 1478 __field(unsigned long long, ino) 1479 __field(void *, args) 1480 __field(unsigned long long, fi_blkno) 1481 ), 1482 TP_fast_assign( 1483 __entry->inode = inode; 1484 __entry->ino = ino; 1485 __entry->args = args; 1486 __entry->fi_blkno = fi_blkno; 1487 ), 1488 TP_printk("%p %llu %p %llu", __entry->inode, __entry->ino, 1489 __entry->args, __entry->fi_blkno) 1490 ); 1491 1492 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_populate_inode); 1493 1494 DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_read_locked_inode); 1495 1496 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_check_orphan_recovery_state); 1497 1498 DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_inode_block); 1499 1500 TRACE_EVENT(ocfs2_inode_is_valid_to_delete, 1501 TP_PROTO(void *task, void *dc_task, unsigned long long ino, 1502 unsigned int flags), 1503 TP_ARGS(task, dc_task, ino, flags), 1504 TP_STRUCT__entry( 1505 __field(void *, task) 1506 __field(void *, dc_task) 1507 __field(unsigned long long, ino) 1508 __field(unsigned int, flags) 1509 ), 1510 TP_fast_assign( 1511 __entry->task = task; 1512 __entry->dc_task = dc_task; 1513 __entry->ino = ino; 1514 __entry->flags = flags; 1515 ), 1516 TP_printk("%p %p %llu %u", __entry->task, __entry->dc_task, 1517 __entry->ino, __entry->flags) 1518 ); 1519 1520 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_query_inode_wipe_begin); 1521 1522 DEFINE_OCFS2_UINT_EVENT(ocfs2_query_inode_wipe_succ); 1523 1524 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_query_inode_wipe_end); 1525 1526 DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_cleanup_delete_inode); 1527 1528 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_delete_inode); 1529 1530 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_clear_inode); 1531 1532 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_drop_inode); 1533 1534 TRACE_EVENT(ocfs2_inode_revalidate, 1535 TP_PROTO(void *inode, unsigned long long ino, 1536 unsigned int flags), 1537 TP_ARGS(inode, ino, flags), 1538 TP_STRUCT__entry( 1539 __field(void *, inode) 1540 __field(unsigned long long, ino) 1541 __field(unsigned int, flags) 1542 ), 1543 TP_fast_assign( 1544 __entry->inode = inode; 1545 __entry->ino = ino; 1546 __entry->flags = flags; 1547 ), 1548 TP_printk("%p %llu %u", __entry->inode, __entry->ino, __entry->flags) 1549 ); 1550 1551 DEFINE_OCFS2_ULL_EVENT(ocfs2_mark_inode_dirty); 1552 1553 /* End of trace events for fs/ocfs2/inode.c. */ 1554 1555 /* Trace events for fs/ocfs2/extent_map.c. */ 1556 1557 TRACE_EVENT(ocfs2_read_virt_blocks, 1558 TP_PROTO(void *inode, unsigned long long vblock, int nr, 1559 void *bhs, unsigned int flags, void *validate), 1560 TP_ARGS(inode, vblock, nr, bhs, flags, validate), 1561 TP_STRUCT__entry( 1562 __field(void *, inode) 1563 __field(unsigned long long, vblock) 1564 __field(int, nr) 1565 __field(void *, bhs) 1566 __field(unsigned int, flags) 1567 __field(void *, validate) 1568 ), 1569 TP_fast_assign( 1570 __entry->inode = inode; 1571 __entry->vblock = vblock; 1572 __entry->nr = nr; 1573 __entry->bhs = bhs; 1574 __entry->flags = flags; 1575 __entry->validate = validate; 1576 ), 1577 TP_printk("%p %llu %d %p %x %p", __entry->inode, __entry->vblock, 1578 __entry->nr, __entry->bhs, __entry->flags, __entry->validate) 1579 ); 1580 1581 /* End of trace events for fs/ocfs2/extent_map.c. */ 1582 1583 /* Trace events for fs/ocfs2/slot_map.c. */ 1584 1585 DEFINE_OCFS2_UINT_EVENT(ocfs2_refresh_slot_info); 1586 1587 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_map_slot_buffers); 1588 1589 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_map_slot_buffers_block); 1590 1591 DEFINE_OCFS2_INT_EVENT(ocfs2_find_slot); 1592 1593 /* End of trace events for fs/ocfs2/slot_map.c. */ 1594 1595 /* Trace events for fs/ocfs2/heartbeat.c. */ 1596 1597 DEFINE_OCFS2_INT_EVENT(ocfs2_do_node_down); 1598 1599 /* End of trace events for fs/ocfs2/heartbeat.c. */ 1600 1601 /* Trace events for fs/ocfs2/super.c. */ 1602 1603 TRACE_EVENT(ocfs2_remount, 1604 TP_PROTO(unsigned long s_flags, unsigned long osb_flags, int flags), 1605 TP_ARGS(s_flags, osb_flags, flags), 1606 TP_STRUCT__entry( 1607 __field(unsigned long, s_flags) 1608 __field(unsigned long, osb_flags) 1609 __field(int, flags) 1610 ), 1611 TP_fast_assign( 1612 __entry->s_flags = s_flags; 1613 __entry->osb_flags = osb_flags; 1614 __entry->flags = flags; 1615 ), 1616 TP_printk("%lu %lu %d", __entry->s_flags, 1617 __entry->osb_flags, __entry->flags) 1618 ); 1619 1620 TRACE_EVENT(ocfs2_fill_super, 1621 TP_PROTO(void *sb, void *data, int silent), 1622 TP_ARGS(sb, data, silent), 1623 TP_STRUCT__entry( 1624 __field(void *, sb) 1625 __field(void *, data) 1626 __field(int, silent) 1627 ), 1628 TP_fast_assign( 1629 __entry->sb = sb; 1630 __entry->data = data; 1631 __entry->silent = silent; 1632 ), 1633 TP_printk("%p %p %d", __entry->sb, 1634 __entry->data, __entry->silent) 1635 ); 1636 1637 TRACE_EVENT(ocfs2_parse_options, 1638 TP_PROTO(int is_remount, char *options), 1639 TP_ARGS(is_remount, options), 1640 TP_STRUCT__entry( 1641 __field(int, is_remount) 1642 __string(options, options) 1643 ), 1644 TP_fast_assign( 1645 __entry->is_remount = is_remount; 1646 __assign_str(options, options); 1647 ), 1648 TP_printk("%d %s", __entry->is_remount, __get_str(options)) 1649 ); 1650 1651 DEFINE_OCFS2_POINTER_EVENT(ocfs2_put_super); 1652 1653 TRACE_EVENT(ocfs2_statfs, 1654 TP_PROTO(void *sb, void *buf), 1655 TP_ARGS(sb, buf), 1656 TP_STRUCT__entry( 1657 __field(void *, sb) 1658 __field(void *, buf) 1659 ), 1660 TP_fast_assign( 1661 __entry->sb = sb; 1662 __entry->buf = buf; 1663 ), 1664 TP_printk("%p %p", __entry->sb, __entry->buf) 1665 ); 1666 1667 DEFINE_OCFS2_POINTER_EVENT(ocfs2_dismount_volume); 1668 1669 TRACE_EVENT(ocfs2_initialize_super, 1670 TP_PROTO(char *label, char *uuid_str, unsigned long long root_dir, 1671 unsigned long long system_dir, int cluster_bits), 1672 TP_ARGS(label, uuid_str, root_dir, system_dir, cluster_bits), 1673 TP_STRUCT__entry( 1674 __string(label, label) 1675 __string(uuid_str, uuid_str) 1676 __field(unsigned long long, root_dir) 1677 __field(unsigned long long, system_dir) 1678 __field(int, cluster_bits) 1679 ), 1680 TP_fast_assign( 1681 __assign_str(label, label); 1682 __assign_str(uuid_str, uuid_str); 1683 __entry->root_dir = root_dir; 1684 __entry->system_dir = system_dir; 1685 __entry->cluster_bits = cluster_bits; 1686 ), 1687 TP_printk("%s %s %llu %llu %d", __get_str(label), __get_str(uuid_str), 1688 __entry->root_dir, __entry->system_dir, __entry->cluster_bits) 1689 ); 1690 1691 /* End of trace events for fs/ocfs2/super.c. */ 1692 1693 /* Trace events for fs/ocfs2/xattr.c. */ 1694 1695 DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_xattr_block); 1696 1697 DEFINE_OCFS2_UINT_EVENT(ocfs2_xattr_extend_allocation); 1698 1699 TRACE_EVENT(ocfs2_init_xattr_set_ctxt, 1700 TP_PROTO(const char *name, int meta, int clusters, int credits), 1701 TP_ARGS(name, meta, clusters, credits), 1702 TP_STRUCT__entry( 1703 __string(name, name) 1704 __field(int, meta) 1705 __field(int, clusters) 1706 __field(int, credits) 1707 ), 1708 TP_fast_assign( 1709 __assign_str(name, name); 1710 __entry->meta = meta; 1711 __entry->clusters = clusters; 1712 __entry->credits = credits; 1713 ), 1714 TP_printk("%s %d %d %d", __get_str(name), __entry->meta, 1715 __entry->clusters, __entry->credits) 1716 ); 1717 1718 DECLARE_EVENT_CLASS(ocfs2__xattr_find, 1719 TP_PROTO(unsigned long long ino, const char *name, int name_index, 1720 unsigned int hash, unsigned long long location, 1721 int xe_index), 1722 TP_ARGS(ino, name, name_index, hash, location, xe_index), 1723 TP_STRUCT__entry( 1724 __field(unsigned long long, ino) 1725 __string(name, name) 1726 __field(int, name_index) 1727 __field(unsigned int, hash) 1728 __field(unsigned long long, location) 1729 __field(int, xe_index) 1730 ), 1731 TP_fast_assign( 1732 __entry->ino = ino; 1733 __assign_str(name, name); 1734 __entry->name_index = name_index; 1735 __entry->hash = hash; 1736 __entry->location = location; 1737 __entry->xe_index = xe_index; 1738 ), 1739 TP_printk("%llu %s %d %u %llu %d", __entry->ino, __get_str(name), 1740 __entry->name_index, __entry->hash, __entry->location, 1741 __entry->xe_index) 1742 ); 1743 1744 #define DEFINE_OCFS2_XATTR_FIND_EVENT(name) \ 1745 DEFINE_EVENT(ocfs2__xattr_find, name, \ 1746 TP_PROTO(unsigned long long ino, const char *name, int name_index, \ 1747 unsigned int hash, unsigned long long bucket, \ 1748 int xe_index), \ 1749 TP_ARGS(ino, name, name_index, hash, bucket, xe_index)) 1750 1751 DEFINE_OCFS2_XATTR_FIND_EVENT(ocfs2_xattr_bucket_find); 1752 1753 DEFINE_OCFS2_XATTR_FIND_EVENT(ocfs2_xattr_index_block_find); 1754 1755 DEFINE_OCFS2_XATTR_FIND_EVENT(ocfs2_xattr_index_block_find_rec); 1756 1757 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_iterate_xattr_buckets); 1758 1759 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_iterate_xattr_bucket); 1760 1761 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_cp_xattr_block_to_bucket_begin); 1762 1763 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_cp_xattr_block_to_bucket_end); 1764 1765 DEFINE_OCFS2_ULL_EVENT(ocfs2_xattr_create_index_block_begin); 1766 1767 DEFINE_OCFS2_ULL_EVENT(ocfs2_xattr_create_index_block); 1768 1769 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_defrag_xattr_bucket); 1770 1771 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_mv_xattr_bucket_cross_cluster); 1772 1773 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_divide_xattr_bucket_begin); 1774 1775 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_divide_xattr_bucket_move); 1776 1777 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_cp_xattr_bucket); 1778 1779 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_mv_xattr_buckets); 1780 1781 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_adjust_xattr_cross_cluster); 1782 1783 DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_add_new_xattr_cluster_begin); 1784 1785 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_add_new_xattr_cluster); 1786 1787 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_add_new_xattr_cluster_insert); 1788 1789 DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_extend_xattr_bucket); 1790 1791 DEFINE_OCFS2_ULL_EVENT(ocfs2_add_new_xattr_bucket); 1792 1793 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_xattr_bucket_value_truncate); 1794 1795 DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_rm_xattr_cluster); 1796 1797 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_reflink_xattr_header); 1798 1799 DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_create_empty_xattr_block); 1800 1801 DEFINE_OCFS2_STRING_EVENT(ocfs2_xattr_set_entry_bucket); 1802 1803 DEFINE_OCFS2_STRING_EVENT(ocfs2_xattr_set_entry_index_block); 1804 1805 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_xattr_bucket_value_refcount); 1806 1807 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_reflink_xattr_buckets); 1808 1809 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_reflink_xattr_rec); 1810 1811 /* End of trace events for fs/ocfs2/xattr.c. */ 1812 1813 /* Trace events for fs/ocfs2/reservations.c. */ 1814 1815 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resv_insert); 1816 1817 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_resmap_find_free_bits_begin); 1818 1819 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resmap_find_free_bits_end); 1820 1821 TRACE_EVENT(ocfs2_resv_find_window_begin, 1822 TP_PROTO(unsigned int r_start, unsigned int r_end, unsigned int goal, 1823 unsigned int wanted, int empty_root), 1824 TP_ARGS(r_start, r_end, goal, wanted, empty_root), 1825 TP_STRUCT__entry( 1826 __field(unsigned int, r_start) 1827 __field(unsigned int, r_end) 1828 __field(unsigned int, goal) 1829 __field(unsigned int, wanted) 1830 __field(int, empty_root) 1831 ), 1832 TP_fast_assign( 1833 __entry->r_start = r_start; 1834 __entry->r_end = r_end; 1835 __entry->goal = goal; 1836 __entry->wanted = wanted; 1837 __entry->empty_root = empty_root; 1838 ), 1839 TP_printk("%u %u %u %u %d", __entry->r_start, __entry->r_end, 1840 __entry->goal, __entry->wanted, __entry->empty_root) 1841 ); 1842 1843 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resv_find_window_prev); 1844 1845 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_resv_find_window_next); 1846 1847 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_cannibalize_resv_begin); 1848 1849 TRACE_EVENT(ocfs2_cannibalize_resv_end, 1850 TP_PROTO(unsigned int start, unsigned int end, unsigned int len, 1851 unsigned int last_start, unsigned int last_len), 1852 TP_ARGS(start, end, len, last_start, last_len), 1853 TP_STRUCT__entry( 1854 __field(unsigned int, start) 1855 __field(unsigned int, end) 1856 __field(unsigned int, len) 1857 __field(unsigned int, last_start) 1858 __field(unsigned int, last_len) 1859 ), 1860 TP_fast_assign( 1861 __entry->start = start; 1862 __entry->end = end; 1863 __entry->len = len; 1864 __entry->last_start = last_start; 1865 __entry->last_len = last_len; 1866 ), 1867 TP_printk("%u %u %u %u %u", __entry->start, __entry->end, 1868 __entry->len, __entry->last_start, __entry->last_len) 1869 ); 1870 1871 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resmap_resv_bits); 1872 1873 TRACE_EVENT(ocfs2_resmap_claimed_bits_begin, 1874 TP_PROTO(unsigned int cstart, unsigned int cend, unsigned int clen, 1875 unsigned int r_start, unsigned int r_end, unsigned int r_len, 1876 unsigned int last_start, unsigned int last_len), 1877 TP_ARGS(cstart, cend, clen, r_start, r_end, 1878 r_len, last_start, last_len), 1879 TP_STRUCT__entry( 1880 __field(unsigned int, cstart) 1881 __field(unsigned int, cend) 1882 __field(unsigned int, clen) 1883 __field(unsigned int, r_start) 1884 __field(unsigned int, r_end) 1885 __field(unsigned int, r_len) 1886 __field(unsigned int, last_start) 1887 __field(unsigned int, last_len) 1888 ), 1889 TP_fast_assign( 1890 __entry->cstart = cstart; 1891 __entry->cend = cend; 1892 __entry->clen = clen; 1893 __entry->r_start = r_start; 1894 __entry->r_end = r_end; 1895 __entry->r_len = r_len; 1896 __entry->last_start = last_start; 1897 __entry->last_len = last_len; 1898 ), 1899 TP_printk("%u %u %u %u %u %u %u %u", 1900 __entry->cstart, __entry->cend, __entry->clen, 1901 __entry->r_start, __entry->r_end, __entry->r_len, 1902 __entry->last_start, __entry->last_len) 1903 ); 1904 1905 TRACE_EVENT(ocfs2_resmap_claimed_bits_end, 1906 TP_PROTO(unsigned int start, unsigned int end, unsigned int len, 1907 unsigned int last_start, unsigned int last_len), 1908 TP_ARGS(start, end, len, last_start, last_len), 1909 TP_STRUCT__entry( 1910 __field(unsigned int, start) 1911 __field(unsigned int, end) 1912 __field(unsigned int, len) 1913 __field(unsigned int, last_start) 1914 __field(unsigned int, last_len) 1915 ), 1916 TP_fast_assign( 1917 __entry->start = start; 1918 __entry->end = end; 1919 __entry->len = len; 1920 __entry->last_start = last_start; 1921 __entry->last_len = last_len; 1922 ), 1923 TP_printk("%u %u %u %u %u", __entry->start, __entry->end, 1924 __entry->len, __entry->last_start, __entry->last_len) 1925 ); 1926 1927 /* End of trace events for fs/ocfs2/reservations.c. */ 1928 1929 /* Trace events for fs/ocfs2/quota_local.c. */ 1930 1931 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_recover_local_quota_file); 1932 1933 DEFINE_OCFS2_INT_EVENT(ocfs2_finish_quota_recovery); 1934 1935 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(olq_set_dquot); 1936 1937 /* End of trace events for fs/ocfs2/quota_local.c. */ 1938 #endif /* _TRACE_OCFS2_H */ 1939 1940 /* This part must be outside protection */ 1941 #undef TRACE_INCLUDE_PATH 1942 #define TRACE_INCLUDE_PATH . 1943 #define TRACE_INCLUDE_FILE ocfs2_trace 1944 #include <trace/define_trace.h> 1945