linux/include/trace/events/nilfs2.h
<<
>>
Prefs
   1#undef TRACE_SYSTEM
   2#define TRACE_SYSTEM nilfs2
   3
   4#if !defined(_TRACE_NILFS2_H) || defined(TRACE_HEADER_MULTI_READ)
   5#define _TRACE_NILFS2_H
   6
   7#include <linux/tracepoint.h>
   8
   9struct nilfs_sc_info;
  10
  11#define show_collection_stage(type)                                     \
  12        __print_symbolic(type,                                          \
  13        { NILFS_ST_INIT, "ST_INIT" },                                   \
  14        { NILFS_ST_GC, "ST_GC" },                                       \
  15        { NILFS_ST_FILE, "ST_FILE" },                                   \
  16        { NILFS_ST_IFILE, "ST_IFILE" },                                 \
  17        { NILFS_ST_CPFILE, "ST_CPFILE" },                               \
  18        { NILFS_ST_SUFILE, "ST_SUFILE" },                               \
  19        { NILFS_ST_DAT, "ST_DAT" },                                     \
  20        { NILFS_ST_SR, "ST_SR" },                                       \
  21        { NILFS_ST_DSYNC, "ST_DSYNC" },                                 \
  22        { NILFS_ST_DONE, "ST_DONE"})
  23
  24TRACE_EVENT(nilfs2_collection_stage_transition,
  25
  26            TP_PROTO(struct nilfs_sc_info *sci),
  27
  28            TP_ARGS(sci),
  29
  30            TP_STRUCT__entry(
  31                    __field(void *, sci)
  32                    __field(int, stage)
  33            ),
  34
  35            TP_fast_assign(
  36                        __entry->sci = sci;
  37                        __entry->stage = sci->sc_stage.scnt;
  38                    ),
  39
  40            TP_printk("sci = %p stage = %s",
  41                      __entry->sci,
  42                      show_collection_stage(__entry->stage))
  43);
  44
  45#ifndef TRACE_HEADER_MULTI_READ
  46enum nilfs2_transaction_transition_state {
  47        TRACE_NILFS2_TRANSACTION_BEGIN,
  48        TRACE_NILFS2_TRANSACTION_COMMIT,
  49        TRACE_NILFS2_TRANSACTION_ABORT,
  50        TRACE_NILFS2_TRANSACTION_TRYLOCK,
  51        TRACE_NILFS2_TRANSACTION_LOCK,
  52        TRACE_NILFS2_TRANSACTION_UNLOCK,
  53};
  54#endif
  55
  56#define show_transaction_state(type)                                    \
  57        __print_symbolic(type,                                          \
  58                         { TRACE_NILFS2_TRANSACTION_BEGIN, "BEGIN" },   \
  59                         { TRACE_NILFS2_TRANSACTION_COMMIT, "COMMIT" }, \
  60                         { TRACE_NILFS2_TRANSACTION_ABORT, "ABORT" },   \
  61                         { TRACE_NILFS2_TRANSACTION_TRYLOCK, "TRYLOCK" }, \
  62                         { TRACE_NILFS2_TRANSACTION_LOCK, "LOCK" },     \
  63                         { TRACE_NILFS2_TRANSACTION_UNLOCK, "UNLOCK" })
  64
  65TRACE_EVENT(nilfs2_transaction_transition,
  66            TP_PROTO(struct super_block *sb,
  67                     struct nilfs_transaction_info *ti,
  68                     int count,
  69                     unsigned int flags,
  70                     enum nilfs2_transaction_transition_state state),
  71
  72            TP_ARGS(sb, ti, count, flags, state),
  73
  74            TP_STRUCT__entry(
  75                    __field(void *, sb)
  76                    __field(void *, ti)
  77                    __field(int, count)
  78                    __field(unsigned int, flags)
  79                    __field(int, state)
  80            ),
  81
  82            TP_fast_assign(
  83                    __entry->sb = sb;
  84                    __entry->ti = ti;
  85                    __entry->count = count;
  86                    __entry->flags = flags;
  87                    __entry->state = state;
  88                    ),
  89
  90            TP_printk("sb = %p ti = %p count = %d flags = %x state = %s",
  91                      __entry->sb,
  92                      __entry->ti,
  93                      __entry->count,
  94                      __entry->flags,
  95                      show_transaction_state(__entry->state))
  96);
  97
  98TRACE_EVENT(nilfs2_segment_usage_check,
  99            TP_PROTO(struct inode *sufile,
 100                     __u64 segnum,
 101                     unsigned long cnt),
 102
 103            TP_ARGS(sufile, segnum, cnt),
 104
 105            TP_STRUCT__entry(
 106                    __field(struct inode *, sufile)
 107                    __field(__u64, segnum)
 108                    __field(unsigned long, cnt)
 109            ),
 110
 111            TP_fast_assign(
 112                    __entry->sufile = sufile;
 113                    __entry->segnum = segnum;
 114                    __entry->cnt = cnt;
 115                    ),
 116
 117            TP_printk("sufile = %p segnum = %llu cnt = %lu",
 118                      __entry->sufile,
 119                      __entry->segnum,
 120                      __entry->cnt)
 121);
 122
 123TRACE_EVENT(nilfs2_segment_usage_allocated,
 124            TP_PROTO(struct inode *sufile,
 125                     __u64 segnum),
 126
 127            TP_ARGS(sufile, segnum),
 128
 129            TP_STRUCT__entry(
 130                    __field(struct inode *, sufile)
 131                    __field(__u64, segnum)
 132            ),
 133
 134            TP_fast_assign(
 135                    __entry->sufile = sufile;
 136                    __entry->segnum = segnum;
 137                    ),
 138
 139            TP_printk("sufile = %p segnum = %llu",
 140                      __entry->sufile,
 141                      __entry->segnum)
 142);
 143
 144TRACE_EVENT(nilfs2_segment_usage_freed,
 145            TP_PROTO(struct inode *sufile,
 146                     __u64 segnum),
 147
 148            TP_ARGS(sufile, segnum),
 149
 150            TP_STRUCT__entry(
 151                    __field(struct inode *, sufile)
 152                    __field(__u64, segnum)
 153            ),
 154
 155            TP_fast_assign(
 156                    __entry->sufile = sufile;
 157                    __entry->segnum = segnum;
 158                    ),
 159
 160            TP_printk("sufile = %p segnum = %llu",
 161                      __entry->sufile,
 162                      __entry->segnum)
 163);
 164
 165TRACE_EVENT(nilfs2_mdt_insert_new_block,
 166            TP_PROTO(struct inode *inode,
 167                     unsigned long ino,
 168                     unsigned long block),
 169
 170            TP_ARGS(inode, ino, block),
 171
 172            TP_STRUCT__entry(
 173                    __field(struct inode *, inode)
 174                    __field(unsigned long, ino)
 175                    __field(unsigned long, block)
 176            ),
 177
 178            TP_fast_assign(
 179                    __entry->inode = inode;
 180                    __entry->ino = ino;
 181                    __entry->block = block;
 182                    ),
 183
 184            TP_printk("inode = %p ino = %lu block = %lu",
 185                      __entry->inode,
 186                      __entry->ino,
 187                      __entry->block)
 188);
 189
 190TRACE_EVENT(nilfs2_mdt_submit_block,
 191            TP_PROTO(struct inode *inode,
 192                     unsigned long ino,
 193                     unsigned long blkoff,
 194                     int mode),
 195
 196            TP_ARGS(inode, ino, blkoff, mode),
 197
 198            TP_STRUCT__entry(
 199                    __field(struct inode *, inode)
 200                    __field(unsigned long, ino)
 201                    __field(unsigned long, blkoff)
 202                    __field(int, mode)
 203            ),
 204
 205            TP_fast_assign(
 206                    __entry->inode = inode;
 207                    __entry->ino = ino;
 208                    __entry->blkoff = blkoff;
 209                    __entry->mode = mode;
 210                    ),
 211
 212            TP_printk("inode = %p ino = %lu blkoff = %lu mode = %x",
 213                      __entry->inode,
 214                      __entry->ino,
 215                      __entry->blkoff,
 216                      __entry->mode)
 217);
 218
 219#endif /* _TRACE_NILFS2_H */
 220
 221/* This part must be outside protection */
 222#undef TRACE_INCLUDE_FILE
 223#define TRACE_INCLUDE_FILE nilfs2
 224#include <trace/define_trace.h>
 225