+
+#endif
+
+#endif
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
+
+LTTNG_TRACEPOINT_EVENT_CLASS(ext4__es_extent,
+ TP_PROTO(struct inode *inode, struct extent_status *es),
+
+ TP_ARGS(inode, es),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
+ ctf_integer(ino_t, ino, inode->i_ino)
+ ctf_integer(ext4_lblk_t, lblk, es->es_lblk)
+ ctf_integer(ext4_lblk_t, len, es->es_len)
+ ctf_integer(ext4_fsblk_t, pblk, ext4_es_pblock(es))
+ ctf_integer(char, status, ext4_es_status(es))
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__es_extent, ext4_es_insert_extent,
+ TP_PROTO(struct inode *inode, struct extent_status *es),
+
+ TP_ARGS(inode, es)
+)
+
+LTTNG_TRACEPOINT_EVENT_INSTANCE(ext4__es_extent, ext4_es_cache_extent,
+ TP_PROTO(struct inode *inode, struct extent_status *es),
+
+ TP_ARGS(inode, es)
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0))
+
+LTTNG_TRACEPOINT_EVENT(ext4_es_insert_extent,
+ TP_PROTO(struct inode *inode, struct extent_status *es),
+
+ TP_ARGS(inode, es),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
+ ctf_integer(ino_t, ino, inode->i_ino)
+ ctf_integer(ext4_lblk_t, lblk, es->es_lblk)
+ ctf_integer(ext4_lblk_t, len, es->es_len)
+ ctf_integer(ext4_fsblk_t, pblk, ext4_es_pblock(es))
+ ctf_integer(char, status, ext4_es_status(es) >> 60)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT(ext4_es_remove_extent,
+ TP_PROTO(struct inode *inode, ext4_lblk_t lblk, ext4_lblk_t len),
+
+ TP_ARGS(inode, lblk, len),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
+ ctf_integer(ino_t, ino, inode->i_ino)
+ ctf_integer(loff_t, lblk, lblk)
+ ctf_integer(loff_t, len, len)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT(ext4_es_find_delayed_extent_range_enter,
+ TP_PROTO(struct inode *inode, ext4_lblk_t lblk),
+
+ TP_ARGS(inode, lblk),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
+ ctf_integer(ino_t, ino, inode->i_ino)
+ ctf_integer(ext4_lblk_t, lblk, lblk)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT(ext4_es_find_delayed_extent_range_exit,
+ TP_PROTO(struct inode *inode, struct extent_status *es),
+
+ TP_ARGS(inode, es),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
+ ctf_integer(ino_t, ino, inode->i_ino)
+ ctf_integer(ext4_lblk_t, lblk, es->es_lblk)
+ ctf_integer(ext4_lblk_t, len, es->es_len)
+ ctf_integer(ext4_fsblk_t, pblk, ext4_es_pblock(es))
+ ctf_integer(char, status, ext4_es_status(es) >> 60)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT(ext4_es_lookup_extent_enter,
+ TP_PROTO(struct inode *inode, ext4_lblk_t lblk),
+
+ TP_ARGS(inode, lblk),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
+ ctf_integer(ino_t, ino, inode->i_ino)
+ ctf_integer(ext4_lblk_t, lblk, lblk)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT(ext4_es_lookup_extent_exit,
+ TP_PROTO(struct inode *inode, struct extent_status *es,
+ int found),
+
+ TP_ARGS(inode, es, found),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, inode->i_sb->s_dev)
+ ctf_integer(ino_t, ino, inode->i_ino)
+ ctf_integer(ext4_lblk_t, lblk, es->es_lblk)
+ ctf_integer(ext4_lblk_t, len, es->es_len)
+ ctf_integer(ext4_fsblk_t, pblk, ext4_es_pblock(es))
+ ctf_integer(char, status, ext4_es_status(es) >> 60)
+ ctf_integer(int, found, found)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT(ext4_es_shrink_enter,
+ TP_PROTO(struct super_block *sb, int nr_to_scan, int cache_cnt),
+
+ TP_ARGS(sb, nr_to_scan, cache_cnt),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, sb->s_dev)
+ ctf_integer(int, nr_to_scan, nr_to_scan)
+ ctf_integer(int, cache_cnt, cache_cnt)
+ )
+)
+
+LTTNG_TRACEPOINT_EVENT(ext4_es_shrink_exit,
+ TP_PROTO(struct super_block *sb, int shrunk_nr, int cache_cnt),
+
+ TP_ARGS(sb, shrunk_nr, cache_cnt),
+
+ TP_FIELDS(
+ ctf_integer(dev_t, dev, sb->s_dev)
+ ctf_integer(int, shrunk_nr, shrunk_nr)
+ ctf_integer(int, cache_cnt, cache_cnt)
+ )
+)
+