Fix Linux 3.8 ext4 probe support
[lttng-modules.git] / instrumentation / events / lttng-module / ext4.h
index 661a5a93765f02ddf011cefc3fdf024caca4fddd..72d605421753921f9823a7249c4aea55cd5ea0ed 100644 (file)
@@ -305,7 +305,7 @@ DEFINE_EVENT(ext4__write_end, ext4_da_write_end,
        TP_ARGS(inode, pos, len, copied)
 )
 
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40))
 TRACE_EVENT(ext4_writepage,
        TP_PROTO(struct inode *inode, struct page *page),
 
@@ -581,7 +581,7 @@ DECLARE_EVENT_CLASS(ext4__page_op,
                  (unsigned long) __entry->index)
 )
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
 DEFINE_EVENT(ext4__page_op, ext4_writepage,
 
        TP_PROTO(struct page *page),
@@ -702,7 +702,7 @@ DEFINE_EVENT(ext4__mb_new_pa, ext4_mb_new_group_pa,
 
 TRACE_EVENT(ext4_mb_release_inode_pa,
        TP_PROTO(
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0))
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,40))
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
                 struct super_block *sb,
                 struct inode *inode,
@@ -716,7 +716,7 @@ TRACE_EVENT(ext4_mb_release_inode_pa,
                 struct ext4_prealloc_space *pa,
                 unsigned long long block, unsigned int count),
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
        TP_ARGS(pa, block, count),
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37))
        TP_ARGS(sb, inode, pa, block, count),
@@ -735,7 +735,7 @@ TRACE_EVENT(ext4_mb_release_inode_pa,
        ),
 
        TP_fast_assign(
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,40))
                tp_assign(dev, pa->pa_inode->i_sb->s_dev)
                tp_assign(ino, pa->pa_inode->i_ino)
 #else
@@ -762,7 +762,7 @@ TRACE_EVENT(ext4_mb_release_inode_pa,
 
 TRACE_EVENT(ext4_mb_release_group_pa,
 
-#if (LTTNG_KERNEL_RANGE(3,0,0, 3,3,0))
+#if (LTTNG_KERNEL_RANGE(2,6,40, 3,3,0))
        TP_PROTO(struct ext4_prealloc_space *pa),
 
        TP_ARGS(pa),
@@ -794,7 +794,7 @@ TRACE_EVENT(ext4_mb_release_group_pa,
        ),
 
        TP_fast_assign(
-#if (LTTNG_KERNEL_RANGE(3,0,0, 3,3,0))
+#if (LTTNG_KERNEL_RANGE(2,6,40, 3,3,0))
                tp_assign(dev, pa->pa_inode->i_sb->s_dev)
 #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36))
                tp_assign(dev, sb->s_dev)
@@ -1850,6 +1850,54 @@ DEFINE_EVENT(ext4__map_blocks_enter, ext4_ind_map_blocks_enter,
        TP_ARGS(inode, lblk, len, flags)
 )
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
+
+DECLARE_EVENT_CLASS(ext4__map_blocks_exit,
+       TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
+
+       TP_ARGS(inode, map, ret),
+
+       TP_STRUCT__entry(
+               __field(        dev_t,          dev             )
+               __field(        ino_t,          ino             )
+               __field(        ext4_fsblk_t,   pblk            )
+               __field(        ext4_lblk_t,    lblk            )
+               __field(        unsigned int,   len             )
+               __field(        unsigned int,   flags           )
+               __field(        int,            ret             )
+       ),
+
+       TP_fast_assign(
+               tp_assign(dev, inode->i_sb->s_dev)
+               tp_assign(ino, inode->i_ino)
+               tp_assign(pblk, map->m_pblk)
+               tp_assign(lblk, map->m_lblk)
+               tp_assign(len, map->m_len)
+               tp_assign(flags, map->m_flags)
+               tp_assign(ret, ret)
+       ),
+
+       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->flags, __entry->ret)
+)
+
+DEFINE_EVENT(ext4__map_blocks_exit, ext4_ext_map_blocks_exit,
+       TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
+
+       TP_ARGS(inode, map, ret)
+)
+
+DEFINE_EVENT(ext4__map_blocks_exit, ext4_ind_map_blocks_exit,
+       TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int ret),
+
+       TP_ARGS(inode, map, ret)
+)
+
+#else  /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)) */
+
 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),
@@ -1895,6 +1943,8 @@ DEFINE_EVENT(ext4__map_blocks_exit, ext4_ind_map_blocks_exit,
        TP_ARGS(inode, lblk, pblk, len, ret)
 )
 
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)) */
+
 TRACE_EVENT(ext4_ext_load_extent,
        TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_fsblk_t pblk),
 
@@ -2015,11 +2065,19 @@ DEFINE_EVENT(ext4__trim, ext4_trim_all_free,
 #endif
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
+
 TRACE_EVENT(ext4_ext_handle_uninitialized_extents,
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
+       TP_PROTO(struct inode *inode, struct ext4_map_blocks *map, int flags,
+                unsigned int allocated, ext4_fsblk_t newblock),
+
+       TP_ARGS(inode, map, flags, allocated, newblock),
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)) */
        TP_PROTO(struct inode *inode, struct ext4_map_blocks *map,
                 unsigned int allocated, ext4_fsblk_t newblock),
 
        TP_ARGS(inode, map, allocated, newblock),
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)) */
 
        TP_STRUCT__entry(
                __field(        dev_t,          dev             )
@@ -2035,7 +2093,11 @@ TRACE_EVENT(ext4_ext_handle_uninitialized_extents,
        TP_fast_assign(
                tp_assign(dev, inode->i_sb->s_dev)
                tp_assign(ino, inode->i_ino)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
+               tp_assign(flags, flags)
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)) */
                tp_assign(flags, map->m_flags)
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)) */
                tp_assign(lblk, map->m_lblk)
                tp_assign(pblk, map->m_pblk)
                tp_assign(len, map->m_len)
This page took 0.025945 seconds and 4 git commands to generate.