Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
[linux-2.6.git] / include / trace / events / ext4.h
index 6363193a3418e9ee169cd8d2b3011d0970041646..b50a54736242ca21d19a814ab37b27783216397a 100644 (file)
@@ -23,7 +23,7 @@ TRACE_EVENT(ext4_free_inode,
        TP_STRUCT__entry(
                __field(        dev_t,  dev                     )
                __field(        ino_t,  ino                     )
-               __field(        umode_t, mode                   )
+               __field(        __u16, mode                     )
                __field(        uid_t,  uid                     )
                __field(        gid_t,  gid                     )
                __field(        __u64, blocks                   )
@@ -52,7 +52,7 @@ TRACE_EVENT(ext4_request_inode,
        TP_STRUCT__entry(
                __field(        dev_t,  dev                     )
                __field(        ino_t,  dir                     )
-               __field(        umode_t, mode                   )
+               __field(        __u16, mode                     )
        ),
 
        TP_fast_assign(
@@ -75,7 +75,7 @@ TRACE_EVENT(ext4_allocate_inode,
                __field(        dev_t,  dev                     )
                __field(        ino_t,  ino                     )
                __field(        ino_t,  dir                     )
-               __field(        umode_t, mode                   )
+               __field(        __u16,  mode                    )
        ),
 
        TP_fast_assign(
@@ -725,7 +725,7 @@ TRACE_EVENT(ext4_free_blocks,
        TP_STRUCT__entry(
                __field(        dev_t,  dev                     )
                __field(        ino_t,  ino                     )
-               __field(        umode_t, mode                   )
+               __field(        __u16,  mode                    )
                __field(        __u64,  block                   )
                __field(        unsigned long,  count           )
                __field(        int,    flags                   )
@@ -1012,7 +1012,7 @@ TRACE_EVENT(ext4_forget,
        TP_STRUCT__entry(
                __field(        dev_t,  dev                     )
                __field(        ino_t,  ino                     )
-               __field(        umode_t, mode                   )
+               __field(        __u16,  mode                    )
                __field(        int,    is_metadata             )
                __field(        __u64,  block                   )
        ),
@@ -1039,7 +1039,7 @@ TRACE_EVENT(ext4_da_update_reserve_space,
        TP_STRUCT__entry(
                __field(        dev_t,  dev                     )
                __field(        ino_t,  ino                     )
-               __field(        umode_t, mode                   )
+               __field(        __u16,  mode                    )
                __field(        __u64,  i_blocks                )
                __field(        int,    used_blocks             )
                __field(        int,    reserved_data_blocks    )
@@ -1076,7 +1076,7 @@ TRACE_EVENT(ext4_da_reserve_space,
        TP_STRUCT__entry(
                __field(        dev_t,  dev                     )
                __field(        ino_t,  ino                     )
-               __field(        umode_t, mode                   )
+               __field(        __u16,  mode                    )
                __field(        __u64,  i_blocks                )
                __field(        int,    md_needed               )
                __field(        int,    reserved_data_blocks    )
@@ -1110,7 +1110,7 @@ TRACE_EVENT(ext4_da_release_space,
        TP_STRUCT__entry(
                __field(        dev_t,  dev                     )
                __field(        ino_t,  ino                     )
-               __field(        umode_t, mode                   )
+               __field(        __u16,  mode                    )
                __field(        __u64,  i_blocks                )
                __field(        int,    freed_blocks            )
                __field(        int,    reserved_data_blocks    )
@@ -1518,6 +1518,77 @@ TRACE_EVENT(ext4_load_inode,
                  (unsigned long) __entry->ino)
 );
 
+TRACE_EVENT(ext4_journal_start,
+       TP_PROTO(struct super_block *sb, int nblocks, unsigned long IP),
+
+       TP_ARGS(sb, nblocks, IP),
+
+       TP_STRUCT__entry(
+               __field(        dev_t,  dev                     )
+               __field(          int,  nblocks                 )
+               __field(unsigned long,  ip                      )
+       ),
+
+       TP_fast_assign(
+               __entry->dev     = sb->s_dev;
+               __entry->nblocks = nblocks;
+               __entry->ip      = IP;
+       ),
+
+       TP_printk("dev %d,%d nblocks %d caller %pF",
+                 MAJOR(__entry->dev), MINOR(__entry->dev),
+                 __entry->nblocks, (void *)__entry->ip)
+);
+
+DECLARE_EVENT_CLASS(ext4__trim,
+       TP_PROTO(struct super_block *sb,
+                ext4_group_t group,
+                ext4_grpblk_t start,
+                ext4_grpblk_t len),
+
+       TP_ARGS(sb, group, start, len),
+
+       TP_STRUCT__entry(
+               __field(        int,    dev_major               )
+               __field(        int,    dev_minor               )
+               __field(        __u32,  group                   )
+               __field(        int,    start                   )
+               __field(        int,    len                     )
+       ),
+
+       TP_fast_assign(
+               __entry->dev_major      = MAJOR(sb->s_dev);
+               __entry->dev_minor      = MINOR(sb->s_dev);
+               __entry->group          = group;
+               __entry->start          = start;
+               __entry->len            = len;
+       ),
+
+       TP_printk("dev %d,%d group %u, start %d, len %d",
+                 __entry->dev_major, __entry->dev_minor,
+                 __entry->group, __entry->start, __entry->len)
+);
+
+DEFINE_EVENT(ext4__trim, ext4_trim_extent,
+
+       TP_PROTO(struct super_block *sb,
+                ext4_group_t group,
+                ext4_grpblk_t start,
+                ext4_grpblk_t len),
+
+       TP_ARGS(sb, group, start, len)
+);
+
+DEFINE_EVENT(ext4__trim, ext4_trim_all_free,
+
+       TP_PROTO(struct super_block *sb,
+                ext4_group_t group,
+                ext4_grpblk_t start,
+                ext4_grpblk_t len),
+
+       TP_ARGS(sb, group, start, len)
+);
+
 #endif /* _TRACE_EXT4_H */
 
 /* This part must be outside protection */