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 9TRACE_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 39TRACE_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 61TRACE_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 86TRACE_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 108TRACE_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 130TRACE_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 %pS", 148 MAJOR(__entry->dev), MINOR(__entry->dev), 149 (unsigned long) __entry->ino, (void *)__entry->ip) 150); 151 152TRACE_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 181DECLARE_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 210DEFINE_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 218DEFINE_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 226DEFINE_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 234DECLARE_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 257DEFINE_EVENT(ext3__page_op, ext3_ordered_writepage, 258 259 TP_PROTO(struct page *page), 260 261 TP_ARGS(page) 262); 263 264DEFINE_EVENT(ext3__page_op, ext3_writeback_writepage, 265 266 TP_PROTO(struct page *page), 267 268 TP_ARGS(page) 269); 270 271DEFINE_EVENT(ext3__page_op, ext3_journalled_writepage, 272 273 TP_PROTO(struct page *page), 274 275 TP_ARGS(page) 276); 277 278DEFINE_EVENT(ext3__page_op, ext3_readpage, 279 280 TP_PROTO(struct page *page), 281 282 TP_ARGS(page) 283); 284 285DEFINE_EVENT(ext3__page_op, ext3_releasepage, 286 287 TP_PROTO(struct page *page), 288 289 TP_ARGS(page) 290); 291 292TRACE_EVENT(ext3_invalidatepage, 293 TP_PROTO(struct page *page, unsigned int offset, unsigned int length), 294 295 TP_ARGS(page, offset, length), 296 297 TP_STRUCT__entry( 298 __field( pgoff_t, index ) 299 __field( unsigned int, offset ) 300 __field( unsigned int, length ) 301 __field( ino_t, ino ) 302 __field( dev_t, dev ) 303 304 ), 305 306 TP_fast_assign( 307 __entry->index = page->index; 308 __entry->offset = offset; 309 __entry->length = length; 310 __entry->ino = page->mapping->host->i_ino; 311 __entry->dev = page->mapping->host->i_sb->s_dev; 312 ), 313 314 TP_printk("dev %d,%d ino %lu page_index %lu offset %u length %u", 315 MAJOR(__entry->dev), MINOR(__entry->dev), 316 (unsigned long) __entry->ino, 317 __entry->index, __entry->offset, __entry->length) 318); 319 320TRACE_EVENT(ext3_discard_blocks, 321 TP_PROTO(struct super_block *sb, unsigned long blk, 322 unsigned long count), 323 324 TP_ARGS(sb, blk, count), 325 326 TP_STRUCT__entry( 327 __field( dev_t, dev ) 328 __field( unsigned long, blk ) 329 __field( unsigned long, count ) 330 331 ), 332 333 TP_fast_assign( 334 __entry->dev = sb->s_dev; 335 __entry->blk = blk; 336 __entry->count = count; 337 ), 338 339 TP_printk("dev %d,%d blk %lu count %lu", 340 MAJOR(__entry->dev), MINOR(__entry->dev), 341 __entry->blk, __entry->count) 342); 343 344TRACE_EVENT(ext3_request_blocks, 345 TP_PROTO(struct inode *inode, unsigned long goal, 346 unsigned long count), 347 348 TP_ARGS(inode, goal, count), 349 350 TP_STRUCT__entry( 351 __field( dev_t, dev ) 352 __field( ino_t, ino ) 353 __field( unsigned long, count ) 354 __field( unsigned long, goal ) 355 ), 356 357 TP_fast_assign( 358 __entry->dev = inode->i_sb->s_dev; 359 __entry->ino = inode->i_ino; 360 __entry->count = count; 361 __entry->goal = goal; 362 ), 363 364 TP_printk("dev %d,%d ino %lu count %lu goal %lu ", 365 MAJOR(__entry->dev), MINOR(__entry->dev), 366 (unsigned long) __entry->ino, 367 __entry->count, __entry->goal) 368); 369 370TRACE_EVENT(ext3_allocate_blocks, 371 TP_PROTO(struct inode *inode, unsigned long goal, 372 unsigned long count, unsigned long block), 373 374 TP_ARGS(inode, goal, count, block), 375 376 TP_STRUCT__entry( 377 __field( dev_t, dev ) 378 __field( ino_t, ino ) 379 __field( unsigned long, block ) 380 __field( unsigned long, count ) 381 __field( unsigned long, goal ) 382 ), 383 384 TP_fast_assign( 385 __entry->dev = inode->i_sb->s_dev; 386 __entry->ino = inode->i_ino; 387 __entry->block = block; 388 __entry->count = count; 389 __entry->goal = goal; 390 ), 391 392 TP_printk("dev %d,%d ino %lu count %lu block %lu goal %lu", 393 MAJOR(__entry->dev), MINOR(__entry->dev), 394 (unsigned long) __entry->ino, 395 __entry->count, __entry->block, 396 __entry->goal) 397); 398 399TRACE_EVENT(ext3_free_blocks, 400 TP_PROTO(struct inode *inode, unsigned long block, 401 unsigned long count), 402 403 TP_ARGS(inode, block, count), 404 405 TP_STRUCT__entry( 406 __field( dev_t, dev ) 407 __field( ino_t, ino ) 408 __field( umode_t, mode ) 409 __field( unsigned long, block ) 410 __field( unsigned long, count ) 411 ), 412 413 TP_fast_assign( 414 __entry->dev = inode->i_sb->s_dev; 415 __entry->ino = inode->i_ino; 416 __entry->mode = inode->i_mode; 417 __entry->block = block; 418 __entry->count = count; 419 ), 420 421 TP_printk("dev %d,%d ino %lu mode 0%o block %lu count %lu", 422 MAJOR(__entry->dev), MINOR(__entry->dev), 423 (unsigned long) __entry->ino, 424 __entry->mode, __entry->block, __entry->count) 425); 426 427TRACE_EVENT(ext3_sync_file_enter, 428 TP_PROTO(struct file *file, int datasync), 429 430 TP_ARGS(file, datasync), 431 432 TP_STRUCT__entry( 433 __field( dev_t, dev ) 434 __field( ino_t, ino ) 435 __field( ino_t, parent ) 436 __field( int, datasync ) 437 ), 438 439 TP_fast_assign( 440 struct dentry *dentry = file->f_path.dentry; 441 442 __entry->dev = d_inode(dentry)->i_sb->s_dev; 443 __entry->ino = d_inode(dentry)->i_ino; 444 __entry->datasync = datasync; 445 __entry->parent = d_inode(dentry->d_parent)->i_ino; 446 ), 447 448 TP_printk("dev %d,%d ino %lu parent %ld datasync %d ", 449 MAJOR(__entry->dev), MINOR(__entry->dev), 450 (unsigned long) __entry->ino, 451 (unsigned long) __entry->parent, __entry->datasync) 452); 453 454TRACE_EVENT(ext3_sync_file_exit, 455 TP_PROTO(struct inode *inode, int ret), 456 457 TP_ARGS(inode, ret), 458 459 TP_STRUCT__entry( 460 __field( int, ret ) 461 __field( ino_t, ino ) 462 __field( dev_t, dev ) 463 ), 464 465 TP_fast_assign( 466 __entry->ret = ret; 467 __entry->ino = inode->i_ino; 468 __entry->dev = inode->i_sb->s_dev; 469 ), 470 471 TP_printk("dev %d,%d ino %lu ret %d", 472 MAJOR(__entry->dev), MINOR(__entry->dev), 473 (unsigned long) __entry->ino, 474 __entry->ret) 475); 476 477TRACE_EVENT(ext3_sync_fs, 478 TP_PROTO(struct super_block *sb, int wait), 479 480 TP_ARGS(sb, wait), 481 482 TP_STRUCT__entry( 483 __field( dev_t, dev ) 484 __field( int, wait ) 485 486 ), 487 488 TP_fast_assign( 489 __entry->dev = sb->s_dev; 490 __entry->wait = wait; 491 ), 492 493 TP_printk("dev %d,%d wait %d", 494 MAJOR(__entry->dev), MINOR(__entry->dev), 495 __entry->wait) 496); 497 498TRACE_EVENT(ext3_rsv_window_add, 499 TP_PROTO(struct super_block *sb, 500 struct ext3_reserve_window_node *rsv_node), 501 502 TP_ARGS(sb, rsv_node), 503 504 TP_STRUCT__entry( 505 __field( unsigned long, start ) 506 __field( unsigned long, end ) 507 __field( dev_t, dev ) 508 ), 509 510 TP_fast_assign( 511 __entry->dev = sb->s_dev; 512 __entry->start = rsv_node->rsv_window._rsv_start; 513 __entry->end = rsv_node->rsv_window._rsv_end; 514 ), 515 516 TP_printk("dev %d,%d start %lu end %lu", 517 MAJOR(__entry->dev), MINOR(__entry->dev), 518 __entry->start, __entry->end) 519); 520 521TRACE_EVENT(ext3_discard_reservation, 522 TP_PROTO(struct inode *inode, 523 struct ext3_reserve_window_node *rsv_node), 524 525 TP_ARGS(inode, rsv_node), 526 527 TP_STRUCT__entry( 528 __field( unsigned long, start ) 529 __field( unsigned long, end ) 530 __field( ino_t, ino ) 531 __field( dev_t, dev ) 532 ), 533 534 TP_fast_assign( 535 __entry->start = rsv_node->rsv_window._rsv_start; 536 __entry->end = rsv_node->rsv_window._rsv_end; 537 __entry->ino = inode->i_ino; 538 __entry->dev = inode->i_sb->s_dev; 539 ), 540 541 TP_printk("dev %d,%d ino %lu start %lu end %lu", 542 MAJOR(__entry->dev), MINOR(__entry->dev), 543 (unsigned long)__entry->ino, __entry->start, 544 __entry->end) 545); 546 547TRACE_EVENT(ext3_alloc_new_reservation, 548 TP_PROTO(struct super_block *sb, unsigned long goal), 549 550 TP_ARGS(sb, goal), 551 552 TP_STRUCT__entry( 553 __field( dev_t, dev ) 554 __field( unsigned long, goal ) 555 ), 556 557 TP_fast_assign( 558 __entry->dev = sb->s_dev; 559 __entry->goal = goal; 560 ), 561 562 TP_printk("dev %d,%d goal %lu", 563 MAJOR(__entry->dev), MINOR(__entry->dev), 564 __entry->goal) 565); 566 567TRACE_EVENT(ext3_reserved, 568 TP_PROTO(struct super_block *sb, unsigned long block, 569 struct ext3_reserve_window_node *rsv_node), 570 571 TP_ARGS(sb, block, rsv_node), 572 573 TP_STRUCT__entry( 574 __field( unsigned long, block ) 575 __field( unsigned long, start ) 576 __field( unsigned long, end ) 577 __field( dev_t, dev ) 578 ), 579 580 TP_fast_assign( 581 __entry->block = block; 582 __entry->start = rsv_node->rsv_window._rsv_start; 583 __entry->end = rsv_node->rsv_window._rsv_end; 584 __entry->dev = sb->s_dev; 585 ), 586 587 TP_printk("dev %d,%d block %lu, start %lu end %lu", 588 MAJOR(__entry->dev), MINOR(__entry->dev), 589 __entry->block, __entry->start, __entry->end) 590); 591 592TRACE_EVENT(ext3_forget, 593 TP_PROTO(struct inode *inode, int is_metadata, unsigned long block), 594 595 TP_ARGS(inode, is_metadata, block), 596 597 TP_STRUCT__entry( 598 __field( dev_t, dev ) 599 __field( ino_t, ino ) 600 __field( umode_t, mode ) 601 __field( int, is_metadata ) 602 __field( unsigned long, block ) 603 ), 604 605 TP_fast_assign( 606 __entry->dev = inode->i_sb->s_dev; 607 __entry->ino = inode->i_ino; 608 __entry->mode = inode->i_mode; 609 __entry->is_metadata = is_metadata; 610 __entry->block = block; 611 ), 612 613 TP_printk("dev %d,%d ino %lu mode 0%o is_metadata %d block %lu", 614 MAJOR(__entry->dev), MINOR(__entry->dev), 615 (unsigned long) __entry->ino, 616 __entry->mode, __entry->is_metadata, __entry->block) 617); 618 619TRACE_EVENT(ext3_read_block_bitmap, 620 TP_PROTO(struct super_block *sb, unsigned int group), 621 622 TP_ARGS(sb, group), 623 624 TP_STRUCT__entry( 625 __field( dev_t, dev ) 626 __field( __u32, group ) 627 628 ), 629 630 TP_fast_assign( 631 __entry->dev = sb->s_dev; 632 __entry->group = group; 633 ), 634 635 TP_printk("dev %d,%d group %u", 636 MAJOR(__entry->dev), MINOR(__entry->dev), 637 __entry->group) 638); 639 640TRACE_EVENT(ext3_direct_IO_enter, 641 TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, int rw), 642 643 TP_ARGS(inode, offset, len, rw), 644 645 TP_STRUCT__entry( 646 __field( ino_t, ino ) 647 __field( dev_t, dev ) 648 __field( loff_t, pos ) 649 __field( unsigned long, len ) 650 __field( int, rw ) 651 ), 652 653 TP_fast_assign( 654 __entry->ino = inode->i_ino; 655 __entry->dev = inode->i_sb->s_dev; 656 __entry->pos = offset; 657 __entry->len = len; 658 __entry->rw = rw; 659 ), 660 661 TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d", 662 MAJOR(__entry->dev), MINOR(__entry->dev), 663 (unsigned long) __entry->ino, 664 (unsigned long long) __entry->pos, __entry->len, 665 __entry->rw) 666); 667 668TRACE_EVENT(ext3_direct_IO_exit, 669 TP_PROTO(struct inode *inode, loff_t offset, unsigned long len, 670 int rw, int ret), 671 672 TP_ARGS(inode, offset, len, rw, ret), 673 674 TP_STRUCT__entry( 675 __field( ino_t, ino ) 676 __field( dev_t, dev ) 677 __field( loff_t, pos ) 678 __field( unsigned long, len ) 679 __field( int, rw ) 680 __field( int, ret ) 681 ), 682 683 TP_fast_assign( 684 __entry->ino = inode->i_ino; 685 __entry->dev = inode->i_sb->s_dev; 686 __entry->pos = offset; 687 __entry->len = len; 688 __entry->rw = rw; 689 __entry->ret = ret; 690 ), 691 692 TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d ret %d", 693 MAJOR(__entry->dev), MINOR(__entry->dev), 694 (unsigned long) __entry->ino, 695 (unsigned long long) __entry->pos, __entry->len, 696 __entry->rw, __entry->ret) 697); 698 699TRACE_EVENT(ext3_unlink_enter, 700 TP_PROTO(struct inode *parent, struct dentry *dentry), 701 702 TP_ARGS(parent, dentry), 703 704 TP_STRUCT__entry( 705 __field( ino_t, parent ) 706 __field( ino_t, ino ) 707 __field( loff_t, size ) 708 __field( dev_t, dev ) 709 ), 710 711 TP_fast_assign( 712 __entry->parent = parent->i_ino; 713 __entry->ino = d_inode(dentry)->i_ino; 714 __entry->size = d_inode(dentry)->i_size; 715 __entry->dev = d_inode(dentry)->i_sb->s_dev; 716 ), 717 718 TP_printk("dev %d,%d ino %lu size %lld parent %ld", 719 MAJOR(__entry->dev), MINOR(__entry->dev), 720 (unsigned long) __entry->ino, 721 (unsigned long long)__entry->size, 722 (unsigned long) __entry->parent) 723); 724 725TRACE_EVENT(ext3_unlink_exit, 726 TP_PROTO(struct dentry *dentry, int ret), 727 728 TP_ARGS(dentry, ret), 729 730 TP_STRUCT__entry( 731 __field( ino_t, ino ) 732 __field( dev_t, dev ) 733 __field( int, ret ) 734 ), 735 736 TP_fast_assign( 737 __entry->ino = d_inode(dentry)->i_ino; 738 __entry->dev = d_inode(dentry)->i_sb->s_dev; 739 __entry->ret = ret; 740 ), 741 742 TP_printk("dev %d,%d ino %lu ret %d", 743 MAJOR(__entry->dev), MINOR(__entry->dev), 744 (unsigned long) __entry->ino, 745 __entry->ret) 746); 747 748DECLARE_EVENT_CLASS(ext3__truncate, 749 TP_PROTO(struct inode *inode), 750 751 TP_ARGS(inode), 752 753 TP_STRUCT__entry( 754 __field( ino_t, ino ) 755 __field( dev_t, dev ) 756 __field( blkcnt_t, blocks ) 757 ), 758 759 TP_fast_assign( 760 __entry->ino = inode->i_ino; 761 __entry->dev = inode->i_sb->s_dev; 762 __entry->blocks = inode->i_blocks; 763 ), 764 765 TP_printk("dev %d,%d ino %lu blocks %lu", 766 MAJOR(__entry->dev), MINOR(__entry->dev), 767 (unsigned long) __entry->ino, (unsigned long) __entry->blocks) 768); 769 770DEFINE_EVENT(ext3__truncate, ext3_truncate_enter, 771 772 TP_PROTO(struct inode *inode), 773 774 TP_ARGS(inode) 775); 776 777DEFINE_EVENT(ext3__truncate, ext3_truncate_exit, 778 779 TP_PROTO(struct inode *inode), 780 781 TP_ARGS(inode) 782); 783 784TRACE_EVENT(ext3_get_blocks_enter, 785 TP_PROTO(struct inode *inode, unsigned long lblk, 786 unsigned long len, int create), 787 788 TP_ARGS(inode, lblk, len, create), 789 790 TP_STRUCT__entry( 791 __field( ino_t, ino ) 792 __field( dev_t, dev ) 793 __field( unsigned long, lblk ) 794 __field( unsigned long, len ) 795 __field( int, create ) 796 ), 797 798 TP_fast_assign( 799 __entry->ino = inode->i_ino; 800 __entry->dev = inode->i_sb->s_dev; 801 __entry->lblk = lblk; 802 __entry->len = len; 803 __entry->create = create; 804 ), 805 806 TP_printk("dev %d,%d ino %lu lblk %lu len %lu create %u", 807 MAJOR(__entry->dev), MINOR(__entry->dev), 808 (unsigned long) __entry->ino, 809 __entry->lblk, __entry->len, __entry->create) 810); 811 812TRACE_EVENT(ext3_get_blocks_exit, 813 TP_PROTO(struct inode *inode, unsigned long lblk, 814 unsigned long pblk, unsigned long len, int ret), 815 816 TP_ARGS(inode, lblk, pblk, len, ret), 817 818 TP_STRUCT__entry( 819 __field( ino_t, ino ) 820 __field( dev_t, dev ) 821 __field( unsigned long, lblk ) 822 __field( unsigned long, pblk ) 823 __field( unsigned long, len ) 824 __field( int, ret ) 825 ), 826 827 TP_fast_assign( 828 __entry->ino = inode->i_ino; 829 __entry->dev = inode->i_sb->s_dev; 830 __entry->lblk = lblk; 831 __entry->pblk = pblk; 832 __entry->len = len; 833 __entry->ret = ret; 834 ), 835 836 TP_printk("dev %d,%d ino %lu lblk %lu pblk %lu len %lu ret %d", 837 MAJOR(__entry->dev), MINOR(__entry->dev), 838 (unsigned long) __entry->ino, 839 __entry->lblk, __entry->pblk, 840 __entry->len, __entry->ret) 841); 842 843TRACE_EVENT(ext3_load_inode, 844 TP_PROTO(struct inode *inode), 845 846 TP_ARGS(inode), 847 848 TP_STRUCT__entry( 849 __field( ino_t, ino ) 850 __field( dev_t, dev ) 851 ), 852 853 TP_fast_assign( 854 __entry->ino = inode->i_ino; 855 __entry->dev = inode->i_sb->s_dev; 856 ), 857 858 TP_printk("dev %d,%d ino %lu", 859 MAJOR(__entry->dev), MINOR(__entry->dev), 860 (unsigned long) __entry->ino) 861); 862 863#endif /* _TRACE_EXT3_H */ 864 865/* This part must be outside protection */ 866#include <trace/define_trace.h> 867