diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_trace.h')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_trace.h | 131 |
1 files changed, 99 insertions, 32 deletions
diff --git a/fs/xfs/linux-2.6/xfs_trace.h b/fs/xfs/linux-2.6/xfs_trace.h index 73d5aa11738..c657cdca2cd 100644 --- a/fs/xfs/linux-2.6/xfs_trace.h +++ b/fs/xfs/linux-2.6/xfs_trace.h | |||
@@ -124,7 +124,10 @@ DEFINE_EVENT(xfs_perag_class, name, \ | |||
124 | unsigned long caller_ip), \ | 124 | unsigned long caller_ip), \ |
125 | TP_ARGS(mp, agno, refcount, caller_ip)) | 125 | TP_ARGS(mp, agno, refcount, caller_ip)) |
126 | DEFINE_PERAG_REF_EVENT(xfs_perag_get); | 126 | DEFINE_PERAG_REF_EVENT(xfs_perag_get); |
127 | DEFINE_PERAG_REF_EVENT(xfs_perag_get_reclaim); | ||
127 | DEFINE_PERAG_REF_EVENT(xfs_perag_put); | 128 | DEFINE_PERAG_REF_EVENT(xfs_perag_put); |
129 | DEFINE_PERAG_REF_EVENT(xfs_perag_set_reclaim); | ||
130 | DEFINE_PERAG_REF_EVENT(xfs_perag_clear_reclaim); | ||
128 | 131 | ||
129 | TRACE_EVENT(xfs_attr_list_node_descend, | 132 | TRACE_EVENT(xfs_attr_list_node_descend, |
130 | TP_PROTO(struct xfs_attr_list_context *ctx, | 133 | TP_PROTO(struct xfs_attr_list_context *ctx, |
@@ -314,8 +317,6 @@ DEFINE_BUF_EVENT(xfs_buf_init); | |||
314 | DEFINE_BUF_EVENT(xfs_buf_free); | 317 | DEFINE_BUF_EVENT(xfs_buf_free); |
315 | DEFINE_BUF_EVENT(xfs_buf_hold); | 318 | DEFINE_BUF_EVENT(xfs_buf_hold); |
316 | DEFINE_BUF_EVENT(xfs_buf_rele); | 319 | DEFINE_BUF_EVENT(xfs_buf_rele); |
317 | DEFINE_BUF_EVENT(xfs_buf_pin); | ||
318 | DEFINE_BUF_EVENT(xfs_buf_unpin); | ||
319 | DEFINE_BUF_EVENT(xfs_buf_iodone); | 320 | DEFINE_BUF_EVENT(xfs_buf_iodone); |
320 | DEFINE_BUF_EVENT(xfs_buf_iorequest); | 321 | DEFINE_BUF_EVENT(xfs_buf_iorequest); |
321 | DEFINE_BUF_EVENT(xfs_buf_bawrite); | 322 | DEFINE_BUF_EVENT(xfs_buf_bawrite); |
@@ -538,7 +539,7 @@ DEFINE_LOCK_EVENT(xfs_ilock_nowait); | |||
538 | DEFINE_LOCK_EVENT(xfs_ilock_demote); | 539 | DEFINE_LOCK_EVENT(xfs_ilock_demote); |
539 | DEFINE_LOCK_EVENT(xfs_iunlock); | 540 | DEFINE_LOCK_EVENT(xfs_iunlock); |
540 | 541 | ||
541 | DECLARE_EVENT_CLASS(xfs_iget_class, | 542 | DECLARE_EVENT_CLASS(xfs_inode_class, |
542 | TP_PROTO(struct xfs_inode *ip), | 543 | TP_PROTO(struct xfs_inode *ip), |
543 | TP_ARGS(ip), | 544 | TP_ARGS(ip), |
544 | TP_STRUCT__entry( | 545 | TP_STRUCT__entry( |
@@ -554,16 +555,38 @@ DECLARE_EVENT_CLASS(xfs_iget_class, | |||
554 | __entry->ino) | 555 | __entry->ino) |
555 | ) | 556 | ) |
556 | 557 | ||
557 | #define DEFINE_IGET_EVENT(name) \ | 558 | #define DEFINE_INODE_EVENT(name) \ |
558 | DEFINE_EVENT(xfs_iget_class, name, \ | 559 | DEFINE_EVENT(xfs_inode_class, name, \ |
559 | TP_PROTO(struct xfs_inode *ip), \ | 560 | TP_PROTO(struct xfs_inode *ip), \ |
560 | TP_ARGS(ip)) | 561 | TP_ARGS(ip)) |
561 | DEFINE_IGET_EVENT(xfs_iget_skip); | 562 | DEFINE_INODE_EVENT(xfs_iget_skip); |
562 | DEFINE_IGET_EVENT(xfs_iget_reclaim); | 563 | DEFINE_INODE_EVENT(xfs_iget_reclaim); |
563 | DEFINE_IGET_EVENT(xfs_iget_found); | 564 | DEFINE_INODE_EVENT(xfs_iget_reclaim_fail); |
564 | DEFINE_IGET_EVENT(xfs_iget_alloc); | 565 | DEFINE_INODE_EVENT(xfs_iget_hit); |
565 | 566 | DEFINE_INODE_EVENT(xfs_iget_miss); | |
566 | DECLARE_EVENT_CLASS(xfs_inode_class, | 567 | |
568 | DEFINE_INODE_EVENT(xfs_getattr); | ||
569 | DEFINE_INODE_EVENT(xfs_setattr); | ||
570 | DEFINE_INODE_EVENT(xfs_readlink); | ||
571 | DEFINE_INODE_EVENT(xfs_alloc_file_space); | ||
572 | DEFINE_INODE_EVENT(xfs_free_file_space); | ||
573 | DEFINE_INODE_EVENT(xfs_readdir); | ||
574 | #ifdef CONFIG_XFS_POSIX_ACL | ||
575 | DEFINE_INODE_EVENT(xfs_check_acl); | ||
576 | #endif | ||
577 | DEFINE_INODE_EVENT(xfs_vm_bmap); | ||
578 | DEFINE_INODE_EVENT(xfs_file_ioctl); | ||
579 | DEFINE_INODE_EVENT(xfs_file_compat_ioctl); | ||
580 | DEFINE_INODE_EVENT(xfs_ioctl_setattr); | ||
581 | DEFINE_INODE_EVENT(xfs_file_fsync); | ||
582 | DEFINE_INODE_EVENT(xfs_destroy_inode); | ||
583 | DEFINE_INODE_EVENT(xfs_write_inode); | ||
584 | DEFINE_INODE_EVENT(xfs_clear_inode); | ||
585 | |||
586 | DEFINE_INODE_EVENT(xfs_dquot_dqalloc); | ||
587 | DEFINE_INODE_EVENT(xfs_dquot_dqdetach); | ||
588 | |||
589 | DECLARE_EVENT_CLASS(xfs_iref_class, | ||
567 | TP_PROTO(struct xfs_inode *ip, unsigned long caller_ip), | 590 | TP_PROTO(struct xfs_inode *ip, unsigned long caller_ip), |
568 | TP_ARGS(ip, caller_ip), | 591 | TP_ARGS(ip, caller_ip), |
569 | TP_STRUCT__entry( | 592 | TP_STRUCT__entry( |
@@ -588,20 +611,71 @@ DECLARE_EVENT_CLASS(xfs_inode_class, | |||
588 | (char *)__entry->caller_ip) | 611 | (char *)__entry->caller_ip) |
589 | ) | 612 | ) |
590 | 613 | ||
591 | #define DEFINE_INODE_EVENT(name) \ | 614 | #define DEFINE_IREF_EVENT(name) \ |
592 | DEFINE_EVENT(xfs_inode_class, name, \ | 615 | DEFINE_EVENT(xfs_iref_class, name, \ |
593 | TP_PROTO(struct xfs_inode *ip, unsigned long caller_ip), \ | 616 | TP_PROTO(struct xfs_inode *ip, unsigned long caller_ip), \ |
594 | TP_ARGS(ip, caller_ip)) | 617 | TP_ARGS(ip, caller_ip)) |
595 | DEFINE_INODE_EVENT(xfs_ihold); | 618 | DEFINE_IREF_EVENT(xfs_ihold); |
596 | DEFINE_INODE_EVENT(xfs_irele); | 619 | DEFINE_IREF_EVENT(xfs_irele); |
597 | DEFINE_INODE_EVENT(xfs_inode_pin); | 620 | DEFINE_IREF_EVENT(xfs_inode_pin); |
598 | DEFINE_INODE_EVENT(xfs_inode_unpin); | 621 | DEFINE_IREF_EVENT(xfs_inode_unpin); |
599 | DEFINE_INODE_EVENT(xfs_inode_unpin_nowait); | 622 | DEFINE_IREF_EVENT(xfs_inode_unpin_nowait); |
623 | |||
624 | DECLARE_EVENT_CLASS(xfs_namespace_class, | ||
625 | TP_PROTO(struct xfs_inode *dp, struct xfs_name *name), | ||
626 | TP_ARGS(dp, name), | ||
627 | TP_STRUCT__entry( | ||
628 | __field(dev_t, dev) | ||
629 | __field(xfs_ino_t, dp_ino) | ||
630 | __dynamic_array(char, name, name->len) | ||
631 | ), | ||
632 | TP_fast_assign( | ||
633 | __entry->dev = VFS_I(dp)->i_sb->s_dev; | ||
634 | __entry->dp_ino = dp->i_ino; | ||
635 | memcpy(__get_str(name), name->name, name->len); | ||
636 | ), | ||
637 | TP_printk("dev %d:%d dp ino 0x%llx name %s", | ||
638 | MAJOR(__entry->dev), MINOR(__entry->dev), | ||
639 | __entry->dp_ino, | ||
640 | __get_str(name)) | ||
641 | ) | ||
600 | 642 | ||
601 | /* the old xfs_itrace_entry tracer - to be replaced by s.th. in the VFS */ | 643 | #define DEFINE_NAMESPACE_EVENT(name) \ |
602 | DEFINE_INODE_EVENT(xfs_inode); | 644 | DEFINE_EVENT(xfs_namespace_class, name, \ |
603 | #define xfs_itrace_entry(ip) \ | 645 | TP_PROTO(struct xfs_inode *dp, struct xfs_name *name), \ |
604 | trace_xfs_inode(ip, _THIS_IP_) | 646 | TP_ARGS(dp, name)) |
647 | DEFINE_NAMESPACE_EVENT(xfs_remove); | ||
648 | DEFINE_NAMESPACE_EVENT(xfs_link); | ||
649 | DEFINE_NAMESPACE_EVENT(xfs_lookup); | ||
650 | DEFINE_NAMESPACE_EVENT(xfs_create); | ||
651 | DEFINE_NAMESPACE_EVENT(xfs_symlink); | ||
652 | |||
653 | TRACE_EVENT(xfs_rename, | ||
654 | TP_PROTO(struct xfs_inode *src_dp, struct xfs_inode *target_dp, | ||
655 | struct xfs_name *src_name, struct xfs_name *target_name), | ||
656 | TP_ARGS(src_dp, target_dp, src_name, target_name), | ||
657 | TP_STRUCT__entry( | ||
658 | __field(dev_t, dev) | ||
659 | __field(xfs_ino_t, src_dp_ino) | ||
660 | __field(xfs_ino_t, target_dp_ino) | ||
661 | __dynamic_array(char, src_name, src_name->len) | ||
662 | __dynamic_array(char, target_name, target_name->len) | ||
663 | ), | ||
664 | TP_fast_assign( | ||
665 | __entry->dev = VFS_I(src_dp)->i_sb->s_dev; | ||
666 | __entry->src_dp_ino = src_dp->i_ino; | ||
667 | __entry->target_dp_ino = target_dp->i_ino; | ||
668 | memcpy(__get_str(src_name), src_name->name, src_name->len); | ||
669 | memcpy(__get_str(target_name), target_name->name, target_name->len); | ||
670 | ), | ||
671 | TP_printk("dev %d:%d src dp ino 0x%llx target dp ino 0x%llx" | ||
672 | " src name %s target name %s", | ||
673 | MAJOR(__entry->dev), MINOR(__entry->dev), | ||
674 | __entry->src_dp_ino, | ||
675 | __entry->target_dp_ino, | ||
676 | __get_str(src_name), | ||
677 | __get_str(target_name)) | ||
678 | ) | ||
605 | 679 | ||
606 | DECLARE_EVENT_CLASS(xfs_dquot_class, | 680 | DECLARE_EVENT_CLASS(xfs_dquot_class, |
607 | TP_PROTO(struct xfs_dquot *dqp), | 681 | TP_PROTO(struct xfs_dquot *dqp), |
@@ -681,9 +755,6 @@ DEFINE_DQUOT_EVENT(xfs_dqrele); | |||
681 | DEFINE_DQUOT_EVENT(xfs_dqflush); | 755 | DEFINE_DQUOT_EVENT(xfs_dqflush); |
682 | DEFINE_DQUOT_EVENT(xfs_dqflush_force); | 756 | DEFINE_DQUOT_EVENT(xfs_dqflush_force); |
683 | DEFINE_DQUOT_EVENT(xfs_dqflush_done); | 757 | DEFINE_DQUOT_EVENT(xfs_dqflush_done); |
684 | /* not really iget events, but we re-use the format */ | ||
685 | DEFINE_IGET_EVENT(xfs_dquot_dqalloc); | ||
686 | DEFINE_IGET_EVENT(xfs_dquot_dqdetach); | ||
687 | 758 | ||
688 | DECLARE_EVENT_CLASS(xfs_loggrant_class, | 759 | DECLARE_EVENT_CLASS(xfs_loggrant_class, |
689 | TP_PROTO(struct log *log, struct xlog_ticket *tic), | 760 | TP_PROTO(struct log *log, struct xlog_ticket *tic), |
@@ -831,33 +902,29 @@ DECLARE_EVENT_CLASS(xfs_page_class, | |||
831 | __field(loff_t, size) | 902 | __field(loff_t, size) |
832 | __field(unsigned long, offset) | 903 | __field(unsigned long, offset) |
833 | __field(int, delalloc) | 904 | __field(int, delalloc) |
834 | __field(int, unmapped) | ||
835 | __field(int, unwritten) | 905 | __field(int, unwritten) |
836 | ), | 906 | ), |
837 | TP_fast_assign( | 907 | TP_fast_assign( |
838 | int delalloc = -1, unmapped = -1, unwritten = -1; | 908 | int delalloc = -1, unwritten = -1; |
839 | 909 | ||
840 | if (page_has_buffers(page)) | 910 | if (page_has_buffers(page)) |
841 | xfs_count_page_state(page, &delalloc, | 911 | xfs_count_page_state(page, &delalloc, &unwritten); |
842 | &unmapped, &unwritten); | ||
843 | __entry->dev = inode->i_sb->s_dev; | 912 | __entry->dev = inode->i_sb->s_dev; |
844 | __entry->ino = XFS_I(inode)->i_ino; | 913 | __entry->ino = XFS_I(inode)->i_ino; |
845 | __entry->pgoff = page_offset(page); | 914 | __entry->pgoff = page_offset(page); |
846 | __entry->size = i_size_read(inode); | 915 | __entry->size = i_size_read(inode); |
847 | __entry->offset = off; | 916 | __entry->offset = off; |
848 | __entry->delalloc = delalloc; | 917 | __entry->delalloc = delalloc; |
849 | __entry->unmapped = unmapped; | ||
850 | __entry->unwritten = unwritten; | 918 | __entry->unwritten = unwritten; |
851 | ), | 919 | ), |
852 | TP_printk("dev %d:%d ino 0x%llx pgoff 0x%lx size 0x%llx offset %lx " | 920 | TP_printk("dev %d:%d ino 0x%llx pgoff 0x%lx size 0x%llx offset %lx " |
853 | "delalloc %d unmapped %d unwritten %d", | 921 | "delalloc %d unwritten %d", |
854 | MAJOR(__entry->dev), MINOR(__entry->dev), | 922 | MAJOR(__entry->dev), MINOR(__entry->dev), |
855 | __entry->ino, | 923 | __entry->ino, |
856 | __entry->pgoff, | 924 | __entry->pgoff, |
857 | __entry->size, | 925 | __entry->size, |
858 | __entry->offset, | 926 | __entry->offset, |
859 | __entry->delalloc, | 927 | __entry->delalloc, |
860 | __entry->unmapped, | ||
861 | __entry->unwritten) | 928 | __entry->unwritten) |
862 | ) | 929 | ) |
863 | 930 | ||