[PATCH 2/2 v2] ext4: add a variable to record the value of map->m_flags in tracepoint
From: Zheng Liu <hidden>
Date: 2012-10-16 12:25:11
Subsystem:
ext4 file system, filesystems (vfs and infrastructure), the rest, tracing · Maintainers:
"Theodore Ts'o", Alexander Viro, Christian Brauner, Linus Torvalds, Steven Rostedt, Masami Hiramatsu
From: Zheng Liu <redacted> When we use trace_ext4_ext/ind_map_blocks_exit, we will print the value of map->m_flags in order that we can understand what currently status is. CC: Lukas Czerner <redacted> Signed-off-by: Zheng Liu <redacted> --- v2 <- v1: pass the whole ext4_map_blocks instead of lblk, pblk, flags and len change type of 'flags' from 'int' to 'unsigned int' fs/ext4/extents.c | 3 +-- fs/ext4/indirect.c | 3 +-- include/trace/events/ext4.h | 27 +++++++++++++-------------- 3 files changed, 15 insertions(+), 18 deletions(-)
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index 4ecc210..a29b3f8 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c@@ -4249,8 +4249,7 @@ out2: kfree(path); } - trace_ext4_ext_map_blocks_exit(inode, map->m_lblk, - newblock, map->m_len, err ? err : allocated); + trace_ext4_ext_map_blocks_exit(inode, map, err ? err : allocated); return err ? err : allocated; }
diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c
index 792e388..292337f 100644
--- a/fs/ext4/indirect.c
+++ b/fs/ext4/indirect.c@@ -755,8 +755,7 @@ cleanup: partial--; } out: - trace_ext4_ind_map_blocks_exit(inode, map->m_lblk, - map->m_pblk, map->m_len, err); + trace_ext4_ind_map_blocks_exit(inode, map, err); return err; }
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h
index 25914e3..d2a125a 100644
--- a/include/trace/events/ext4.h
+++ b/include/trace/events/ext4.h@@ -1519,10 +1519,9 @@ DEFINE_EVENT(ext4__map_blocks_enter, ext4_ind_map_blocks_enter, ); DECLARE_EVENT_CLASS(ext4__map_blocks_exit, - TP_PROTO(struct inode *inode, ext4_lblk_t lblk, - ext4_fsblk_t pblk, unsigned int len, int ret), + TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret), - TP_ARGS(inode, lblk, pblk, len, ret), + TP_ARGS(inode, map, ret), TP_STRUCT__entry( __field( dev_t, dev )
@@ -1530,37 +1529,37 @@ DECLARE_EVENT_CLASS(ext4__map_blocks_exit, __field( ext4_fsblk_t, pblk ) __field( ext4_lblk_t, lblk ) __field( unsigned int, len ) + __field( unsigned int, flags ) __field( int, ret ) ), TP_fast_assign( __entry->dev = inode->i_sb->s_dev; __entry->ino = inode->i_ino; - __entry->pblk = pblk; - __entry->lblk = lblk; - __entry->len = len; + __entry->pblk = map->m_pblk; + __entry->lblk = map->m_lblk; + __entry->len = map->m_len; + __entry->flags = map->m_flags; __entry->ret = ret; ), - TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u ret %d", + TP_printk("dev %d,%d ino %lu lblk %u pblk %llu len %u flags %x ret %d", MAJOR(__entry->dev), MINOR(__entry->dev), (unsigned long) __entry->ino, __entry->lblk, __entry->pblk, - __entry->len, __entry->ret) + __entry->len, __entry->flags, __entry->ret) ); DEFINE_EVENT(ext4__map_blocks_exit, ext4_ext_map_blocks_exit, - TP_PROTO(struct inode *inode, ext4_lblk_t lblk, - ext4_fsblk_t pblk, unsigned len, int ret), + TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret), - TP_ARGS(inode, lblk, pblk, len, ret) + TP_ARGS(inode, map, ret) ); DEFINE_EVENT(ext4__map_blocks_exit, ext4_ind_map_blocks_exit, - TP_PROTO(struct inode *inode, ext4_lblk_t lblk, - ext4_fsblk_t pblk, unsigned len, int ret), + TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret), - TP_ARGS(inode, lblk, pblk, len, ret) + TP_ARGS(inode, map, ret) ); TRACE_EVENT(ext4_ext_load_extent,
--
1.7.12.rc2.18.g61b472e