Fix: ext3: 3.11 Linux support
[lttng-modules.git] / instrumentation / events / lttng-module / ext3.h
index f1b4aa979226bd387e10c2f05cc938719582f076..286a1dfe65aeda2743c39086cd097591d12ceb9f 100644 (file)
@@ -5,6 +5,7 @@
 #define _TRACE_EXT3_H
 
 #include <linux/tracepoint.h>
+#include <linux/version.h>
 
 TRACE_EVENT(ext3_free_inode,
        TP_PROTO(struct inode *inode),
@@ -24,8 +25,13 @@ TRACE_EVENT(ext3_free_inode,
                tp_assign(dev, inode->i_sb->s_dev)
                tp_assign(ino, inode->i_ino)
                tp_assign(mode, inode->i_mode)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
+               tp_assign(uid, i_uid_read(inode))
+               tp_assign(gid, i_gid_read(inode))
+#else
                tp_assign(uid, inode->i_uid)
                tp_assign(gid, inode->i_gid)
+#endif
                tp_assign(blocks, inode->i_blocks)
        ),
 
@@ -289,6 +295,38 @@ DEFINE_EVENT(ext3__page_op, ext3_releasepage,
        TP_ARGS(page)
 )
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
+
+TRACE_EVENT(ext3_invalidatepage,
+       TP_PROTO(struct page *page, unsigned int offset, unsigned int length),
+
+       TP_ARGS(page, offset, length),
+
+       TP_STRUCT__entry(
+               __field(        pgoff_t, index                  )
+               __field(        unsigned int, offset            )
+               __field(        unsigned int, length            )
+               __field(        ino_t,  ino                     )
+               __field(        dev_t,  dev                     )
+
+       ),
+
+       TP_fast_assign(
+               tp_assign(index, page->index)
+               tp_assign(offset, offset)
+               tp_assign(length, length)
+               tp_assign(ino, page->mapping->host->i_ino)
+               tp_assign(dev, page->mapping->host->i_sb->s_dev)
+       ),
+
+       TP_printk("dev %d,%d ino %lu page_index %lu offset %u length %u",
+                 MAJOR(__entry->dev), MINOR(__entry->dev),
+                 (unsigned long) __entry->ino,
+                 __entry->index, __entry->offset, __entry->length)
+)
+
+#else
+
 TRACE_EVENT(ext3_invalidatepage,
        TP_PROTO(struct page *page, unsigned long offset),
 
@@ -315,6 +353,8 @@ TRACE_EVENT(ext3_invalidatepage,
                  __entry->index, __entry->offset)
 )
 
+#endif
+
 TRACE_EVENT(ext3_discard_blocks,
        TP_PROTO(struct super_block *sb, unsigned long blk,
                        unsigned long count),
This page took 0.024331 seconds and 4 git commands to generate.