ext4: print map->m_flags in trace_ext4_ext/ind_map_blocks_exit
authorZheng Liu <wenqing.lz@taobao.com>
Thu, 8 Nov 2012 19:34:04 +0000 (14:34 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 8 Nov 2012 19:34:04 +0000 (14:34 -0500)
When we use trace_ext4_ext/ind_map_blocks_exit, print the value of
map->m_flags in order that we can understand the extent's current
status.

Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Zheng Liu <wenqing.lz@taobao.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/extents.c
fs/ext4/indirect.c
include/trace/events/ext4.h

index 59e6e12e00298eda489b19b695453be08777b092..7a64c193b2aff4c167ce9e00d0df605f76b45a32 100644 (file)
@@ -4284,8 +4284,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;
 }
index 792e388e7b444bece02de64261be376227bd22bc..292337f27c9cd585ace0a7ab29fb9c6d41420cb9 100644 (file)
@@ -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;
 }
 
index 25914e3002c7f5f48af936a9db527ef51f801138..d2a125a6db8b0e7e347dbf119cb9185306e9129b 100644 (file)
@@ -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,