1 #undef TRACE_SYSTEM 2 #define TRACE_SYSTEM ext3 3 4 #if !defined(_TRACE_EXT3_H) || defined(TRACE_HEADER_MULTI_READ) 5 #define _TRACE_EXT3_H 6 7 #include <linux/tracepoint.h> 8 9 TRACE_EVENT(ext3_free_inode, 10 TP_PROTO(struct inode *inode), 11 12 TP_ARGS(inode), 13 14 TP_STRUCT__entry( 15 __field( dev_t, dev ) 16 __field( ino_t, ino ) 17 __field( umode_t, mode ) 18 __field( uid_t, uid ) 19 __field( gid_t, gid ) 20 __field( blkcnt_t, blocks ) 21 ), 22 23 TP_fast_assign( 24 __entry->dev = inode->i_sb->s_dev; 25 __entry->ino = inode->i_ino; 26 __entry->mode = inode->i_mode; 27 __entry->uid = i_uid_read(inode); 28 __entry->gid = i_gid_read(inode); 29 __entry->blocks = inode->i_blocks; 30 ), 31 32 TP_printk("dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %lu", 33 MAJOR(__entry->dev), MINOR(__entry->dev), 34 (unsigned long) __entry->ino, 35 __entry->mode, __entry->uid, __entry->gid, 36 (unsigned long) __entry->blocks) 37 ); 38 39 TRACE_EVENT(ext3_request_inode, 40 TP_PROTO(struct inode *dir, int mode), 41 42 TP_ARGS(dir, mode), 43 44 TP_STRUCT__entry( 45 __field( dev_t, dev ) 46 __field( ino_t, dir ) 47 __field( umode_t, mode ) 48 ), 49 50 TP_fast_assign( 51 __entry->dev = dir->i_sb->s_dev; 52 __entry->dir = dir->i_ino; 53 __entry->mode = mode; 54 ), 55 56 TP_printk("dev %d,%d dir %lu mode 0%o", 57 MAJOR(__entry->dev), MINOR(__entry->dev), 58 (unsigned long) __entry->dir, __entry->mode) 59 ); 60 61 TRACE_EVENT(ext3_allocate_inode, 62 TP_PROTO(struct inode *inode, struct inode *dir, int mode), 63 64 TP_ARGS(inode, dir, mode), 65 66 TP_STRUCT__entry( 67 __field( dev_t, dev ) 68 __field( ino_t, ino ) 69 __field( ino_t, dir ) 70 __field( umode_t, mode ) 71 ), 72 73 TP_fast_assign( 74 __entry->dev = inode->i_sb->s_dev; 75 __entry->ino = inode->i_ino; 76 __entry->dir = dir->i_ino; 77 __entry->mode = mode; 78 ), 79 80 TP_printk("dev %d,%d ino %lu dir %lu mode 0%o", 81 MAJOR(__entry->dev), MINOR(__entry->dev), 82 (unsigned long) __entry->ino, 83 (unsigned long) __entry->dir, __entry->mode) 84 ); 85 86 TRACE_EVENT(ext3_evict_inode, 87 TP_PROTO(struct inode *inode), 88 89 TP_ARGS(inode), 90 91 TP_STRUCT__entry( 92 __field( dev_t, dev ) 93 __field( ino_t, ino ) 94 __field( int, nlink ) 95 ), 96 97 TP_fast_assign( 98 __entry->dev = inode->i_sb->s_dev; 99 __entry->ino = inode->i_ino; 100 __entry->nlink = inode->i_nlink; 101 ), 102 103 TP_printk("dev %d,%d ino %lu nlink %d", 104 MAJOR(__entry->dev), MINOR(__entry->dev), 105 (unsigned long) __entry->ino, __entry->nlink) 106 ); 107 108 TRACE_EVENT(ext3_drop_inode, 109 TP_PROTO(struct inode *inode, int drop), 110 111 TP_ARGS(inode, drop), 112 113 TP_STRUCT__entry( 114 __field( dev_t, dev ) 115 __field( ino_t, ino ) 116 __field( int, drop ) 117 ), 118 119 TP_fast_assign( 120 __entry->dev = inode->i_sb->s_dev; 121 __entry->ino = inode->i_ino; 122 __entry->drop = drop; 123 ), 124 125 TP_printk("dev %d,%d ino %lu drop %d", 126 MAJOR(__entry->dev), MINOR(__entry->dev), 127 (unsigned long) __entry->ino, __entry->drop) 128 ); 129 130 TRACE_EVENT(ext3_mark_inode_dirty, 131 TP_PROTO(struct inode *inode, unsigned long IP), 132 133 TP_ARGS(inode, IP), 134 135 TP_STRUCT__entry( 136 __field( dev_t, dev ) 137 __field( ino_t, ino ) 138 __field(unsigned long, ip ) 139 ), 140 141 TP_fast_assign( 142 __entry->dev = inode->i_sb->s_dev; 143 __entry->ino = inode->i_ino; 144 __entry->ip = IP; 145 ), 146 147 TP_printk("dev %d,%d ino %lu caller %pF", 148 MAJOR(__entry->dev), MINOR(__entry->dev), 149 (unsigned long) __entry->ino, (void *)__entry->ip) 150 ); 151 152 TRACE_EVENT(ext3_write_begin, 153 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, 154 unsigned int flags), 155 156 TP_ARGS(inode, pos, len, flags), 157 158 TP_STRUCT__entry( 159 __field( dev_t, dev ) 160 __field( ino_t, ino ) 161 __field( loff_t, pos ) 162 __field( unsigned int, len ) 163 __field( unsigned int, flags ) 164 ), 165 166 TP_fast_assign( 167 __entry->dev = inode->i_sb->s_dev; 168 __entry->ino = inode->i_ino; 169 __entry->pos = pos; 170 __entry->len = len; 171 __entry->flags = flags; 172 ), 173 174 TP_printk("dev %d,%d ino %lu pos %llu len %u flags %u", 175 MAJOR(__entry->dev), MINOR(__entry->dev), 176 (unsigned long) __entry->ino, 177 (unsigned long long) __entry->pos, __entry->len, 178 __entry->flags) 179 ); 180 181 DECLARE_EVENT_CLASS(ext3__write_end, 182 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, 183 unsigned int copied), 184 185 TP_ARGS(inode, pos, len, copied), 186 187 TP_STRUCT__entry( 188 __field( dev_t, dev ) 189 __field( ino_t, ino ) 190 __field( loff_t, pos ) 191 __field( unsigned int, len ) 192 __field( unsigned int, copied ) 193 ), 194 195 TP_fast_assign( 196 __entry->dev = inode->i_sb->s_dev; 197 __entry->ino = inode->i_ino; 198 __entry->pos = pos; 199 __entry->len = len; 200 __entry->copied = copied; 201 ), 202 203 TP_printk("dev %d,%d ino %lu pos %llu len %u copied %u", 204 MAJOR(__entry->dev), MINOR(__entry->dev), 205 (unsigned long) __entry->ino, 206 (unsigned long long) __entry->pos, __entry->len, 207 __entry->copied) 208 ); 209 210 DEFINE_EVENT(ext3__write_end, ext3_ordered_write_end, 211 212 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, 213 unsigned int copied), 214 215 TP_ARGS(inode, pos, len, copied) 216 ); 217 218 DEFINE_EVENT(ext3__write_end, ext3_writeback_write_end, 219 220 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, 221 unsigned int copied), 222 223 TP_ARGS(inode, pos, len, copied) 224 ); 225 226 DEFINE_EVENT(ext3__write_end, ext3_journalled_write_end, 227 228 TP_PROTO(struct inode *inode, loff_t pos, unsigned int len, 229 unsigned int copied), 230 231 TP_ARGS(inode, pos, len, copied) 232 ); 233 234 DECLARE_EVENT_CLASS(ext3__page_op, 235 TP_PROTO(struct page *page), 236 237 TP_ARGS(page), 238 239 TP_STRUCT__entry( 240 __field( dev_t, dev ) 241 __field( ino_t, ino ) 242 __field( pgoff_t, index ) 243 244 ), 245 246 TP_fast_assign( 247 __entry->index = page->index; 248 __entry->ino = page->mapping->host->i_ino; 249 __entry->dev = page->mapping->host->i_sb->s_dev; 250 ), 251 252 TP_printk("dev %d,%d ino %lu page_index %lu", 253 MAJOR(__entry->dev), MINOR(__entry->dev), 254 (unsigned long) __entry->ino, __entry->index) 255 ); 256 257 DEFINE_EVENT(ext3__page_op, ext3_ordered_writepage, 258 259 TP_PROTO(struct page *page), 260 261 TP_ARGS(page) 262 ); 263 264 DEFINE_EVENT(ext3__page_op, ext3_writeback_writepage, 265 266 TP_PROTO(struct page *page), 267 268 TP_ARGS(page) 269 ); 270 271 DEFINE_EVENT(ext3__page_op, ext3_journalled_writepage, 272 273 TP_PROTO(struct page *page), 274 275 TP_ARGS(page) 276 ); 277 278 DEFINE_EVENT(ext3__page_op, ext3_readpage, 279 280 TP_PROTO(struct page *page), 281 282 TP_ARGS(page) 283 ); 284 285 DEFINE_EVENT(ext3__page_op, ext3_releasepage, 286 287 TP_PROTO(struct page *page), 288 289 TP_ARGS(page) 290 ); 291 292 TRACE_EVENT(ext3_invalidatepage, 293 TP_PROTO(struct page *page, unsigned long offset), 294 295 TP_ARGS(page, offset), 296 297 TP_STRUCT__entry( 298 __field( pgoff_t, index ) 299 __field( unsigned long, offset ) 300 __field( ino_t, ino ) 301 __field( dev_t, dev ) 302 303 ), 304 305 TP_fast_assign( 306 __entry->index = page->index; 307 __entry->offset = offset; 308 __entry->ino = page->mapping->host->i_ino; 309 __entry->dev = page->mapping->host->i_sb->s_dev; 310 ), 311 312 TP_printk("dev %d,%d ino %lu page_index %lu offset %lu", 313 MAJOR(__entry->dev), MINOR(__entry->dev), 314 (unsigned long) __entry->ino, 315 __entry->index, __entry->offset) 316 ); 317 318 TRACE_EVENT(ext3_discard_blocks, 319 TP_PROTO(struct super_block *sb, unsigned long blk, 320 unsigned long count), 321 322 TP_ARGS(sb, blk, count), 323 324 TP_STRUCT__entry( 325 __field( dev_t, dev ) 326 __field( unsigned long, blk ) 327 __field( unsigned long, count ) 328 329 ), 330 331 TP_fast_assign( 332 __entry->dev = sb->s_dev; 333 __entry->blk = blk; 334 __entry->count = count; 335 ), 336 337 TP_printk("dev %d,%d blk %lu count %lu", 338 MAJOR(__entry->dev), MINOR(__entry->dev), 339 __entry->blk, __entry->count) 340 ); 341 342 TRACE_EVENT(ext3_request_blocks, 343 TP_PROTO(struct inode *inode, unsigned long goal, 344 unsigned long count), 345 346 TP_ARGS(inode, goal, count), 347 348 TP_STRUCT__entry( 349 __field( dev_t, dev ) 350 __field( ino_t, ino ) 351 __field( unsigned long, count ) 352 __field( unsigned long, goal ) 353 ), 354 355 TP_fast_assign( 356 __entry->dev = inode->i_sb->s_dev; 357 __entry->ino = inode->i_ino; 358 __entry->count = count; 359 __entry->goal = goal; 360 ), 361 362 TP_printk("dev %d,%d ino %lu count %lu goal %lu ", 363 MAJOR(__entry->dev), MINOR(__entry->dev), 364 (unsigned long) __entry->ino, 365 __entry->count, __entry->goal) 366 ); 367 368 TRACE_EVENT(ext3_allocate_blocks, 369 TP_PROTO(struct inode *inode, unsigned long goal, 370 unsigned long count, unsigned long block), 371 372 TP_ARGS(inode, goal, count, block), 373 374 TP_STRUCT__entry( 375 __field( dev_t, dev ) 376 __field( ino_t, ino ) 377 __field( unsigned long, block ) 378 __field( unsigned long, count ) 379 __field( unsigned long, goal ) 380 ), 381 382 TP_fast_assign( 383 __entry->dev = inode->i_sb->s_dev; 384 __entry->ino = inode->i_ino; 385 __entry->block = block; 386 __entry->count = count; 387 __entry->goal = goal; 388 ), 389 390 TP_printk("dev %d,%d ino %lu count %lu block %lu goal %lu", 391 MAJOR(__entry->dev), MINOR(__entry->dev), 392 (unsigned long) __entry->ino, 393 __entry->count, __entry->block, 394 __entry->goal) 395 ); 396 397 TRACE_EVENT(ext3_free_blocks, 398 TP_PROTO(struct inode *inode, unsigned long block, 399 unsigned long count), 400 401 TP_ARGS(inode, block, count), 402 403 TP_STRUCT__entry( 404 __field( dev_t, dev ) 405 __field( ino_t, ino ) 406 __field( umode_t, mode ) 407 __field( unsigned long, block ) 408 __field( unsigned long, count ) 409 ), 410 411 TP_fast_assign( 412 __entry->dev = inode->i_sb->s_dev; 413 __entry->ino = inode->i_ino; 414 __entry->mode = inode->i_mode; 415 __entry->block = block; 416 __entry->count = count; 417 ), 418 419 TP_printk("dev %d,%d ino %lu mode 0%o block %lu count %lu", 420 MAJOR(__entry->dev), MINOR(__entry->dev), 421 (unsigned long) __entry->ino, 422 __entry->mode, __entry->block, __entry->count) 423 ); 424 425 TRACE_EVENT(ext3_sync_file_enter, 426 TP_PROTO(struct file *file, int datasync), 427 428 TP_ARGS(file, datasync), 429 430 TP_STRUCT__entry( 431 __field( dev_t, dev ) 432 __field( ino_t, ino ) 433 __field( ino_t, parent ) 434 __field( int, datasync ) 435 ), 436 437 TP_fast_assign( 438 struct dentry *dentry = file->f_path.dentry; 439 440 __entry->dev = dentry->d_inode->i_sb->s_dev; 441 __entry->ino = dentry->d_inode->i_ino; 442 __entry->datasync = datasync; 443 __entry->parent = dentry->d_parent->d_inode->i_ino; 444 ), 445 446 TP_printk("dev %d,%d ino %lu parent %ld datasync %d ", 447 MAJOR(__entry->dev), MINOR(__entry->dev), 448 (unsigned long) __entry->ino, 449 (unsigned long) __entry->parent, __entry->datasync) 450 ); 451 452 TRACE_EVENT(ext3_sync_file_exit, 453 TP_PROTO(struct inode *inode, int ret), 454 455 TP_ARGS(inode, ret), 456 457 TP_STRUCT__entry( 458 __field( int, ret ) 459 __field( ino_t, ino ) 460 __field( dev_t, dev ) 461 ), 462 463 TP_fast_assign( 464 __entry->ret = ret; 465 __entry->ino = inode->i_ino; 466 __entry->dev = inode->i_sb->s_dev; 467 ), 468 469 TP_printk("dev %d,%d ino %lu ret %d", 470 MAJOR(__entry->dev), MINOR(__entry->dev), 471 (unsigned long) __entry->ino, 472 __entry->ret) 473 ); 474 475 TRACE_EVENT(ext3_sync_fs, 476 TP_PROTO(struct super_block *sb, int wait), 477 478 TP_ARGS(sb, wait), 479 480 TP_STRUCT__entry( 481 __field( dev_t, dev ) 482 __field( int, wait ) 483 484 ), 485 486 TP_fast_assign( 487 __entry->dev = sb->s_dev; 488 __entry->wait = wait; 489 ), 490 491 TP_printk("dev %d,%d wait %d", 492 MAJOR(__entry->dev), MINOR(__entry->dev), 493 __entry->wait) 494 ); 495 496 TRACE_EVENT(ext3_rsv_window_add, 497 TP_PROTO(struct super_block *sb, 498 struct ext3_reserve_window_node *rsv_node), 499 500 TP_ARGS(sb, rsv_node), 501 502 TP_STRUCT__entry( 503 __field( unsigned long, start ) 504 __field( unsigned long, end ) 505 __field( dev_t, dev ) 506 ), 507 508 TP_fast_assign( 509 __entry->dev = sb->s_dev; 510 __entry->start = rsv_node->rsv_window._rsv_start; 511 __entry->end = rsv_node->rsv_window._rsv_end; 512 ), 513 514 TP_printk("dev %d,%d start %lu end %lu", 515 MAJOR(__entry->dev), MINOR(__entry->dev), 516 __entry->start, __entry->end) 517 ); 518 519 TRACE_EVENT(ext3_discard_reservation, 520 TP_PROTO(struct inode *inode, 521 struct ext3_reserve_window_node *rsv_node), 522 523 TP_ARGS(inode, rsv_node), 524 525 TP_STRUCT__entry( 526 __field( unsigned long, start ) 527 __field( unsigned long, end ) 528 __field( ino_t, ino ) 529 __field( dev_t, dev ) 530 ), 531 532 TP_fast_assign( 533 __entry->start = rsv_node->rsv_window._rsv_start; 534 __entry->end = rsv_node->rsv_window._rsv_end; 535 __entry->ino = inode->i_ino; 536 __entry->dev = inode->i_sb->s_dev; 537 ), 538 539 TP_printk("dev %d,%d ino %lu start %lu end %lu", 540 MAJOR(__entry->dev), MINOR(__entry->dev), 541 (unsigned long)__entry->ino, __entry->start, 542 __entry->end) 543 ); 544 545 TRACE_EVENT(ext3_alloc_new_reservation, 546 TP_PROTO(struct super_block *sb, unsigned long goal), 547 548 TP_ARGS(sb, goal), 549 550 TP_STRUCT__entry( 551 __field( dev_t, dev ) 552 __field( unsigned long, goal ) 553 ), 554 555 TP_fast_assign( 556 __entry->dev = sb->s_dev; 557 __entry->goal = goal; 558 ), 559 560 TP_printk("dev %d,%d goal %lu", 561 MAJOR(__entry->dev), MINOR(__entry->dev), 562 __entry->goal) 563 ); 564 565 TRACE_EVENT(ext3_reserved, 566 TP_PROTO(struct super_block *sb, unsigned long block, 567 struct ext3_reserve_window_node *rsv_node), 568 569 TP_ARGS(sb, block, rsv_node), 570 571 TP_STRUCT__entry( 572 __field( unsigned long, block ) 573 __field( unsigned long, start ) 574 __field( unsigned long, end ) 575 __field( dev_t, dev ) 576 ), 577 578 TP_fast_assign( 579 __entry->block = block; 580 __entry->start = rsv_node->rsv_window._rsv_start; 581 __entry->end = rsv_node->rsv_window._rsv_end; 582 __entry->dev = sb->s_dev; 583 ), 584 585 TP_printk("dev %d,%d block %lu, start %lu end %lu", 586 MAJOR(__entry->dev), MINOR(__entry->dev), 587 __entry->block, __entry->start, __entry->end) 588 ); 589 590 TRACE_EVENT(ext3_forget, 591 TP_PROTO(struct inode *inode, int is_metadata, unsigned long block), 592 593 TP_ARGS(inode, is_metadata, block), 594 595 TP_STRUCT__entry( 596 __field( dev_t, dev ) 597 __field( ino_t, ino ) 598 __field( umode_t, mode ) 599 __field( int, is_metadata ) 600 __field( unsigned long, block ) 601 ), 602 603 TP_fast_assign( 604 __entry->dev = inode->i_sb->s_dev; 605 __entry->ino = inode->i_ino; 606 __entry->mode = inode->i_mode; 607 __entry->is_metadata = is_metadata; 608 __entry->block = block; 609 ), 610 611 TP_printk("dev %d,%d ino %lu mode 0%o is_metadata %d block %lu", 612 MAJOR(__entry->dev), MINOR(__entry->dev), 613 (unsigned long) __entry->ino, 614 __entry->mode, __entry->is_metadata, __entry->block) 615 ); 616 617 TRACE_EVENT(ext3_read_block_bitmap, 618 TP_PROTO(struct super_block *sb, unsigned int group), 619 620 TP_ARGS(sb, group), 621 622 TP_STRUCT__entry( 623 __field( dev_t, dev ) 624 __field( __u32, group ) 625 626 ), 627 628 TP_fast_assign( 629 __entry->dev = sb->s_dev; 630 __entry->group = group; 631 ), 632 633 TP_printk("dev %d,%d group %u", 634 MAJOR(__entry->dev), MINOR(__entry->dev), 635 __entry->group) 636 ); 637 638 TRACE_EVENT(ext3_direct_IO_enter, 639 TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw), 640 641 TP_ARGS(inode, offset, len, rw), 642 643 TP_STRUCT__entry( 644 __field( ino_t, ino ) 645 __field( dev_t, dev ) 646 __field( loff_t, pos ) 647 __field( unsigned long, len ) 648 __field( int, rw ) 649 ), 650 651 TP_fast_assign( 652 __entry->ino = inode->i_ino; 653 __entry->dev = inode->i_sb->s_dev; 654 __entry->pos = offset; 655 __entry->len = len; 656 __entry->rw = rw; 657 ), 658 659 TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d", 660 MAJOR(__entry->dev), MINOR(__entry->dev), 661 (unsigned long) __entry->ino, 662 (unsigned long long) __entry->pos, __entry->len, 663 __entry->rw) 664 ); 665 666 TRACE_EVENT(ext3_direct_IO_exit, 667 TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, 668 int rw, int ret), 669 670 TP_ARGS(inode, offset, len, rw, ret), 671 672 TP_STRUCT__entry( 673 __field( ino_t, ino ) 674 __field( dev_t, dev ) 675 __field( loff_t, pos ) 676 __field( unsigned long, len ) 677 __field( int, rw ) 678 __field( int, ret ) 679 ), 680 681 TP_fast_assign( 682 __entry->ino = inode->i_ino; 683 __entry->dev = inode->i_sb->s_dev; 684 __entry->pos = offset; 685 __entry->len = len; 686 __entry->rw = rw; 687 __entry->ret = ret; 688 ), 689 690 TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d ret %d", 691 MAJOR(__entry->dev), MINOR(__entry->dev), 692 (unsigned long) __entry->ino, 693 (unsigned long long) __entry->pos, __entry->len, 694 __entry->rw, __entry->ret) 695 ); 696 697 TRACE_EVENT(ext3_unlink_enter, 698 TP_PROTO(struct inode *parent, struct dentry *dentry), 699 700 TP_ARGS(parent, dentry), 701 702 TP_STRUCT__entry( 703 __field( ino_t, parent ) 704 __field( ino_t, ino ) 705 __field( loff_t, size ) 706 __field( dev_t, dev ) 707 ), 708 709 TP_fast_assign( 710 __entry->parent = parent->i_ino; 711 __entry->ino = dentry->d_inode->i_ino; 712 __entry->size = dentry->d_inode->i_size; 713 __entry->dev = dentry->d_inode->i_sb->s_dev; 714 ), 715 716 TP_printk("dev %d,%d ino %lu size %lld parent %ld", 717 MAJOR(__entry->dev), MINOR(__entry->dev), 718 (unsigned long) __entry->ino, 719 (unsigned long long)__entry->size, 720 (unsigned long) __entry->parent) 721 ); 722 723 TRACE_EVENT(ext3_unlink_exit, 724 TP_PROTO(struct dentry *dentry, int ret), 725 726 TP_ARGS(dentry, ret), 727 728 TP_STRUCT__entry( 729 __field( ino_t, ino ) 730 __field( dev_t, dev ) 731 __field( int, ret ) 732 ), 733 734 TP_fast_assign( 735 __entry->ino = dentry->d_inode->i_ino; 736 __entry->dev = dentry->d_inode->i_sb->s_dev; 737 __entry->ret = ret; 738 ), 739 740 TP_printk("dev %d,%d ino %lu ret %d", 741 MAJOR(__entry->dev), MINOR(__entry->dev), 742 (unsigned long) __entry->ino, 743 __entry->ret) 744 ); 745 746 DECLARE_EVENT_CLASS(ext3__truncate, 747 TP_PROTO(struct inode *inode), 748 749 TP_ARGS(inode), 750 751 TP_STRUCT__entry( 752 __field( ino_t, ino ) 753 __field( dev_t, dev ) 754 __field( blkcnt_t, blocks ) 755 ), 756 757 TP_fast_assign( 758 __entry->ino = inode->i_ino; 759 __entry->dev = inode->i_sb->s_dev; 760 __entry->blocks = inode->i_blocks; 761 ), 762 763 TP_printk("dev %d,%d ino %lu blocks %lu", 764 MAJOR(__entry->dev), MINOR(__entry->dev), 765 (unsigned long) __entry->ino, (unsigned long) __entry->blocks) 766 ); 767 768 DEFINE_EVENT(ext3__truncate, ext3_truncate_enter, 769 770 TP_PROTO(struct inode *inode), 771 772 TP_ARGS(inode) 773 ); 774 775 DEFINE_EVENT(ext3__truncate, ext3_truncate_exit, 776 777 TP_PROTO(struct inode *inode), 778 779 TP_ARGS(inode) 780 ); 781 782 TRACE_EVENT(ext3_get_blocks_enter, 783 TP_PROTO(struct inode *inode, unsigned long lblk, 784 unsigned long len, int create), 785 786 TP_ARGS(inode, lblk, len, create), 787 788 TP_STRUCT__entry( 789 __field( ino_t, ino ) 790 __field( dev_t, dev ) 791 __field( unsigned long, lblk ) 792 __field( unsigned long, len ) 793 __field( int, create ) 794 ), 795 796 TP_fast_assign( 797 __entry->ino = inode->i_ino; 798 __entry->dev = inode->i_sb->s_dev; 799 __entry->lblk = lblk; 800 __entry->len = len; 801 __entry->create = create; 802 ), 803 804 TP_printk("dev %d,%d ino %lu lblk %lu len %lu create %u", 805 MAJOR(__entry->dev), MINOR(__entry->dev), 806 (unsigned long) __entry->ino, 807 __entry->lblk, __entry->len, __entry->create) 808 ); 809 810 TRACE_EVENT(ext3_get_blocks_exit, 811 TP_PROTO(struct inode *inode, unsigned long lblk, 812 unsigned long pblk, unsigned long len, int ret), 813 814 TP_ARGS(inode, lblk, pblk, len, ret), 815 816 TP_STRUCT__entry( 817 __field( ino_t, ino ) 818 __field( dev_t, dev ) 819 __field( unsigned long, lblk ) 820 __field( unsigned long, pblk ) 821 __field( unsigned long, len ) 822 __field( int, ret ) 823 ), 824 825 TP_fast_assign( 826 __entry->ino = inode->i_ino; 827 __entry->dev = inode->i_sb->s_dev; 828 __entry->lblk = lblk; 829 __entry->pblk = pblk; 830 __entry->len = len; 831 __entry->ret = ret; 832 ), 833 834 TP_printk("dev %d,%d ino %lu lblk %lu pblk %lu len %lu ret %d", 835 MAJOR(__entry->dev), MINOR(__entry->dev), 836 (unsigned long) __entry->ino, 837 __entry->lblk, __entry->pblk, 838 __entry->len, __entry->ret) 839 ); 840 841 TRACE_EVENT(ext3_load_inode, 842 TP_PROTO(struct inode *inode), 843 844 TP_ARGS(inode), 845 846 TP_STRUCT__entry( 847 __field( ino_t, ino ) 848 __field( dev_t, dev ) 849 ), 850 851 TP_fast_assign( 852 __entry->ino = inode->i_ino; 853 __entry->dev = inode->i_sb->s_dev; 854 ), 855 856 TP_printk("dev %d,%d ino %lu", 857 MAJOR(__entry->dev), MINOR(__entry->dev), 858 (unsigned long) __entry->ino) 859 ); 860 861 #endif /* _TRACE_EXT3_H */ 862 863 /* This part must be outside protection */ 864 #include <trace/define_trace.h> 865