#define _TRACE_EXT3_H
#include <linux/tracepoint.h>
-
-#ifndef _TRACE_EXT3_DEF
-#define _TRACE_EXT3_DEF
-static struct dentry *dentry;
-#endif
-
+#include <linux/version.h>
TRACE_EVENT(ext3_free_inode,
TP_PROTO(struct inode *inode),
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(mode, inode->i_mode);
- tp_assign(uid, inode->i_uid);
- tp_assign(gid, inode->i_gid);
- tp_assign(blocks, inode->i_blocks);
+ 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)
),
TP_printk("dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %lu",
),
TP_fast_assign(
- tp_assign(dev, dir->i_sb->s_dev);
- tp_assign(dir, dir->i_ino);
- tp_assign(mode, mode);
+ tp_assign(dev, dir->i_sb->s_dev)
+ tp_assign(dir, dir->i_ino)
+ tp_assign(mode, mode)
),
TP_printk("dev %d,%d dir %lu mode 0%o",
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(dir, dir->i_ino);
- tp_assign(mode, mode);
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(dir, dir->i_ino)
+ tp_assign(mode, mode)
),
TP_printk("dev %d,%d ino %lu dir %lu mode 0%o",
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(nlink, inode->i_nlink);
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(nlink, inode->i_nlink)
),
TP_printk("dev %d,%d ino %lu nlink %d",
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(drop, drop);
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(drop, drop)
),
TP_printk("dev %d,%d ino %lu drop %d",
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(ip, IP);
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(ip, IP)
),
TP_printk("dev %d,%d ino %lu caller %pF",
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(pos, pos);
- tp_assign(len, len);
- tp_assign(flags, flags);
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(pos, pos)
+ tp_assign(len, len)
+ tp_assign(flags, flags)
),
TP_printk("dev %d,%d ino %lu pos %llu len %u flags %u",
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(pos, pos);
- tp_assign(len, len);
- tp_assign(copied, copied);
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(pos, pos)
+ tp_assign(len, len)
+ tp_assign(copied, copied)
),
TP_printk("dev %d,%d ino %lu pos %llu len %u copied %u",
),
TP_fast_assign(
- tp_assign(index, page->index);
- tp_assign(ino, page->mapping->host->i_ino);
- tp_assign(dev, page->mapping->host->i_sb->s_dev);
+ tp_assign(index, page->index)
+ 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",
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),
),
TP_fast_assign(
- tp_assign(index, page->index);
- tp_assign(offset, offset);
- tp_assign(ino, page->mapping->host->i_ino);
- tp_assign(dev, page->mapping->host->i_sb->s_dev);
+ tp_assign(index, page->index)
+ tp_assign(offset, offset)
+ 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 %lu",
__entry->index, __entry->offset)
)
+#endif
+
TRACE_EVENT(ext3_discard_blocks,
TP_PROTO(struct super_block *sb, unsigned long blk,
unsigned long count),
),
TP_fast_assign(
- tp_assign(dev, sb->s_dev);
- tp_assign(blk, blk);
- tp_assign(count, count);
+ tp_assign(dev, sb->s_dev)
+ tp_assign(blk, blk)
+ tp_assign(count, count)
),
TP_printk("dev %d,%d blk %lu count %lu",
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(count, count);
- tp_assign(goal, goal);
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(count, count)
+ tp_assign(goal, goal)
),
TP_printk("dev %d,%d ino %lu count %lu goal %lu ",
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(block, block);
- tp_assign(count, count);
- tp_assign(goal, goal);
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(block, block)
+ tp_assign(count, count)
+ tp_assign(goal, goal)
),
TP_printk("dev %d,%d ino %lu count %lu block %lu goal %lu",
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(mode, inode->i_mode);
- tp_assign(block, block);
- tp_assign(count, count);
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(mode, inode->i_mode)
+ tp_assign(block, block)
+ tp_assign(count, count)
),
TP_printk("dev %d,%d ino %lu mode 0%o block %lu count %lu",
),
TP_fast_assign(
- dentry = file->f_path.dentry;
-
- tp_assign(dev, dentry->d_inode->i_sb->s_dev);
- tp_assign(ino, dentry->d_inode->i_ino);
- tp_assign(datasync, datasync);
- tp_assign(parent, dentry->d_parent->d_inode->i_ino);
+ tp_assign(dev, file->f_path.dentry->d_inode->i_sb->s_dev)
+ tp_assign(ino, file->f_path.dentry->d_inode->i_ino)
+ tp_assign(datasync, datasync)
+ tp_assign(parent, file->f_path.dentry->d_parent->d_inode->i_ino)
),
TP_printk("dev %d,%d ino %lu parent %ld datasync %d ",
),
TP_fast_assign(
- tp_assign(ret, ret);
- tp_assign(ino, inode->i_ino);
- tp_assign(dev, inode->i_sb->s_dev);
+ tp_assign(ret, ret)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(dev, inode->i_sb->s_dev)
),
TP_printk("dev %d,%d ino %lu ret %d",
),
TP_fast_assign(
- tp_assign(dev, sb->s_dev);
- tp_assign(wait, wait);
+ tp_assign(dev, sb->s_dev)
+ tp_assign(wait, wait)
),
TP_printk("dev %d,%d wait %d",
),
TP_fast_assign(
- tp_assign(dev, sb->s_dev);
- tp_assign(start, rsv_node->rsv_window._rsv_start);
- tp_assign(end, rsv_node->rsv_window._rsv_end);
+ tp_assign(dev, sb->s_dev)
+ tp_assign(start, rsv_node->rsv_window._rsv_start)
+ tp_assign(end, rsv_node->rsv_window._rsv_end)
),
TP_printk("dev %d,%d start %lu end %lu",
),
TP_fast_assign(
- tp_assign(start, rsv_node->rsv_window._rsv_start);
- tp_assign(end, rsv_node->rsv_window._rsv_end);
- tp_assign(ino, inode->i_ino);
- tp_assign(dev, inode->i_sb->s_dev);
+ tp_assign(start, rsv_node->rsv_window._rsv_start)
+ tp_assign(end, rsv_node->rsv_window._rsv_end)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(dev, inode->i_sb->s_dev)
),
TP_printk("dev %d,%d ino %lu start %lu end %lu",
),
TP_fast_assign(
- tp_assign(dev, sb->s_dev);
- tp_assign(goal, goal);
+ tp_assign(dev, sb->s_dev)
+ tp_assign(goal, goal)
),
TP_printk("dev %d,%d goal %lu",
),
TP_fast_assign(
- tp_assign(block, block);
- tp_assign(start, rsv_node->rsv_window._rsv_start);
- tp_assign(end, rsv_node->rsv_window._rsv_end);
- tp_assign(dev, sb->s_dev);
+ tp_assign(block, block)
+ tp_assign(start, rsv_node->rsv_window._rsv_start)
+ tp_assign(end, rsv_node->rsv_window._rsv_end)
+ tp_assign(dev, sb->s_dev)
),
TP_printk("dev %d,%d block %lu, start %lu end %lu",
),
TP_fast_assign(
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(ino, inode->i_ino);
- tp_assign(mode, inode->i_mode);
- tp_assign(is_metadata, is_metadata);
- tp_assign(block, block);
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(ino, inode->i_ino)
+ tp_assign(mode, inode->i_mode)
+ tp_assign(is_metadata, is_metadata)
+ tp_assign(block, block)
),
TP_printk("dev %d,%d ino %lu mode 0%o is_metadata %d block %lu",
),
TP_fast_assign(
- tp_assign(dev, sb->s_dev);
- tp_assign(group, group);
+ tp_assign(dev, sb->s_dev)
+ tp_assign(group, group)
),
TP_printk("dev %d,%d group %u",
),
TP_fast_assign(
- tp_assign(ino, inode->i_ino);
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(pos, offset);
- tp_assign(len, len);
- tp_assign(rw, rw);
+ tp_assign(ino, inode->i_ino)
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(pos, offset)
+ tp_assign(len, len)
+ tp_assign(rw, rw)
),
TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d",
),
TP_fast_assign(
- tp_assign(ino, inode->i_ino);
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(pos, offset);
- tp_assign(len, len);
- tp_assign(rw, rw);
- tp_assign(ret, ret);
+ tp_assign(ino, inode->i_ino)
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(pos, offset)
+ tp_assign(len, len)
+ tp_assign(rw, rw)
+ tp_assign(ret, ret)
),
TP_printk("dev %d,%d ino %lu pos %llu len %lu rw %d ret %d",
),
TP_fast_assign(
- tp_assign(parent, parent->i_ino);
- tp_assign(ino, dentry->d_inode->i_ino);
- tp_assign(size, dentry->d_inode->i_size);
- tp_assign(dev, dentry->d_inode->i_sb->s_dev);
+ tp_assign(parent, parent->i_ino)
+ tp_assign(ino, dentry->d_inode->i_ino)
+ tp_assign(size, dentry->d_inode->i_size)
+ tp_assign(dev, dentry->d_inode->i_sb->s_dev)
),
TP_printk("dev %d,%d ino %lu size %lld parent %ld",
),
TP_fast_assign(
- tp_assign(ino, dentry->d_inode->i_ino);
- tp_assign(dev, dentry->d_inode->i_sb->s_dev);
- tp_assign(ret, ret);
+ tp_assign(ino, dentry->d_inode->i_ino)
+ tp_assign(dev, dentry->d_inode->i_sb->s_dev)
+ tp_assign(ret, ret)
),
TP_printk("dev %d,%d ino %lu ret %d",
),
TP_fast_assign(
- tp_assign(ino, inode->i_ino);
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(blocks, inode->i_blocks);
+ tp_assign(ino, inode->i_ino)
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(blocks, inode->i_blocks)
),
TP_printk("dev %d,%d ino %lu blocks %lu",
),
TP_fast_assign(
- tp_assign(ino, inode->i_ino);
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(lblk, lblk);
- tp_assign(len, len);
- tp_assign(create, create);
+ tp_assign(ino, inode->i_ino)
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(lblk, lblk)
+ tp_assign(len, len)
+ tp_assign(create, create)
),
TP_printk("dev %d,%d ino %lu lblk %lu len %lu create %u",
),
TP_fast_assign(
- tp_assign(ino, inode->i_ino);
- tp_assign(dev, inode->i_sb->s_dev);
- tp_assign(lblk, lblk);
- tp_assign(pblk, pblk);
- tp_assign(len, len);
- tp_assign(ret, ret);
+ tp_assign(ino, inode->i_ino)
+ tp_assign(dev, inode->i_sb->s_dev)
+ tp_assign(lblk, lblk)
+ tp_assign(pblk, pblk)
+ tp_assign(len, len)
+ tp_assign(ret, ret)
),
TP_printk("dev %d,%d ino %lu lblk %lu pblk %lu len %lu ret %d",
),
TP_fast_assign(
- tp_assign(ino, inode->i_ino);
- tp_assign(dev, inode->i_sb->s_dev);
+ tp_assign(ino, inode->i_ino)
+ tp_assign(dev, inode->i_sb->s_dev)
),
TP_printk("dev %d,%d ino %lu",