From patchwork Mon Nov 19 12:55:18 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [3/3,v2] ext4: add tracepoint for punching hole Date: Mon, 19 Nov 2012 02:55:18 -0000 From: Zheng Liu X-Patchwork-Id: 199997 Message-Id: <1353329718-2075-4-git-send-email-wenqing.lz@taobao.com> To: linux-ext4@vger.kernel.org Cc: Zheng Liu From: Zheng Liu This patch adds a tracepoint in ext4_punch_hole. Signed-off-by: Zheng Liu --- fs/ext4/inode.c | 2 ++ include/trace/events/ext4.h | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 733ed5b..f850ea6 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -3478,6 +3478,8 @@ int ext4_punch_hole(struct file *file, loff_t offset, loff_t length) if (!S_ISREG(inode->i_mode)) return -EOPNOTSUPP; + trace_ext4_punch_hole(inode, offset, length); + if (!ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS)) return ext4_ind_punch_hole(file, offset, length); diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index d49b285..476c7d3 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h @@ -1311,6 +1311,31 @@ TRACE_EVENT(ext4_fallocate_exit, __entry->ret) ); +TRACE_EVENT(ext4_punch_hole, + TP_PROTO(struct inode *inode, loff_t offset, loff_t len), + + TP_ARGS(inode, offset, len), + + TP_STRUCT__entry( + __field( dev_t, dev ) + __field( ino_t, ino ) + __field( loff_t, offset ) + __field( loff_t, len ) + ), + + TP_fast_assign( + __entry->dev = inode->i_sb->s_dev; + __entry->ino = inode->i_ino; + __entry->offset = offset; + __entry->len = len; + ), + + TP_printk("dev %d,%d ino %lu offset %lld len %lld", + MAJOR(__entry->dev), MINOR(__entry->dev), + (unsigned long)__entry->ino, + __entry->offset, __entry->len) +); + TRACE_EVENT(ext4_unlink_enter, TP_PROTO(struct inode *parent, struct dentry *dentry),