aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6/xfs_trace.h
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2010-03-07 19:24:07 -0500
committerAlex Elder <aelder@sgi.com>2010-05-19 10:58:08 -0400
commit4aaf15d1aa9673dd2cc45c48957c946cb4aa2694 (patch)
treeaec24df27ca9cde2d359b77f9ac97f8ad44a1baa /fs/xfs/linux-2.6/xfs_trace.h
parent43f5efc5b59db1b66e39fe9fdfc4ba6a27152afa (diff)
xfs: Add inode pin counts to traces
We don't record pin counts in inode events right now, and this makes it difficult to track down problems related to pinning inodes. Add the pin count to the inode trace class and add trace events for pinning and unpinning inodes. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_trace.h')
-rw-r--r--fs/xfs/linux-2.6/xfs_trace.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_trace.h b/fs/xfs/linux-2.6/xfs_trace.h
index fcaa62f0799e..65371859c753 100644
--- a/fs/xfs/linux-2.6/xfs_trace.h
+++ b/fs/xfs/linux-2.6/xfs_trace.h
@@ -562,18 +562,21 @@ DECLARE_EVENT_CLASS(xfs_inode_class,
562 __field(dev_t, dev) 562 __field(dev_t, dev)
563 __field(xfs_ino_t, ino) 563 __field(xfs_ino_t, ino)
564 __field(int, count) 564 __field(int, count)
565 __field(int, pincount)
565 __field(unsigned long, caller_ip) 566 __field(unsigned long, caller_ip)
566 ), 567 ),
567 TP_fast_assign( 568 TP_fast_assign(
568 __entry->dev = VFS_I(ip)->i_sb->s_dev; 569 __entry->dev = VFS_I(ip)->i_sb->s_dev;
569 __entry->ino = ip->i_ino; 570 __entry->ino = ip->i_ino;
570 __entry->count = atomic_read(&VFS_I(ip)->i_count); 571 __entry->count = atomic_read(&VFS_I(ip)->i_count);
572 __entry->pincount = atomic_read(&ip->i_pincount);
571 __entry->caller_ip = caller_ip; 573 __entry->caller_ip = caller_ip;
572 ), 574 ),
573 TP_printk("dev %d:%d ino 0x%llx count %d caller %pf", 575 TP_printk("dev %d:%d ino 0x%llx count %d pincount %d caller %pf",
574 MAJOR(__entry->dev), MINOR(__entry->dev), 576 MAJOR(__entry->dev), MINOR(__entry->dev),
575 __entry->ino, 577 __entry->ino,
576 __entry->count, 578 __entry->count,
579 __entry->pincount,
577 (char *)__entry->caller_ip) 580 (char *)__entry->caller_ip)
578) 581)
579 582
@@ -583,6 +586,10 @@ DEFINE_EVENT(xfs_inode_class, name, \
583 TP_ARGS(ip, caller_ip)) 586 TP_ARGS(ip, caller_ip))
584DEFINE_INODE_EVENT(xfs_ihold); 587DEFINE_INODE_EVENT(xfs_ihold);
585DEFINE_INODE_EVENT(xfs_irele); 588DEFINE_INODE_EVENT(xfs_irele);
589DEFINE_INODE_EVENT(xfs_inode_pin);
590DEFINE_INODE_EVENT(xfs_inode_unpin);
591DEFINE_INODE_EVENT(xfs_inode_unpin_nowait);
592
586/* the old xfs_itrace_entry tracer - to be replaced by s.th. in the VFS */ 593/* the old xfs_itrace_entry tracer - to be replaced by s.th. in the VFS */
587DEFINE_INODE_EVENT(xfs_inode); 594DEFINE_INODE_EVENT(xfs_inode);
588#define xfs_itrace_entry(ip) \ 595#define xfs_itrace_entry(ip) \