linux/include/trace/events/jbd.h
<<
>>
Prefs
   1#undef TRACE_SYSTEM
   2#define TRACE_SYSTEM jbd
   3
   4#if !defined(_TRACE_JBD_H) || defined(TRACE_HEADER_MULTI_READ)
   5#define _TRACE_JBD_H
   6
   7#include <linux/jbd.h>
   8#include <linux/tracepoint.h>
   9
  10TRACE_EVENT(jbd_checkpoint,
  11
  12        TP_PROTO(journal_t *journal, int result),
  13
  14        TP_ARGS(journal, result),
  15
  16        TP_STRUCT__entry(
  17                __field(        dev_t,  dev                     )
  18                __field(        int,    result                  )
  19        ),
  20
  21        TP_fast_assign(
  22                __entry->dev            = journal->j_fs_dev->bd_dev;
  23                __entry->result         = result;
  24        ),
  25
  26        TP_printk("dev %d,%d result %d",
  27                  MAJOR(__entry->dev), MINOR(__entry->dev),
  28                  __entry->result)
  29);
  30
  31DECLARE_EVENT_CLASS(jbd_commit,
  32
  33        TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  34
  35        TP_ARGS(journal, commit_transaction),
  36
  37        TP_STRUCT__entry(
  38                __field(        dev_t,  dev                     )
  39                __field(        int,    transaction             )
  40        ),
  41
  42        TP_fast_assign(
  43                __entry->dev            = journal->j_fs_dev->bd_dev;
  44                __entry->transaction    = commit_transaction->t_tid;
  45        ),
  46
  47        TP_printk("dev %d,%d transaction %d",
  48                  MAJOR(__entry->dev), MINOR(__entry->dev),
  49                  __entry->transaction)
  50);
  51
  52DEFINE_EVENT(jbd_commit, jbd_start_commit,
  53
  54        TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  55
  56        TP_ARGS(journal, commit_transaction)
  57);
  58
  59DEFINE_EVENT(jbd_commit, jbd_commit_locking,
  60
  61        TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  62
  63        TP_ARGS(journal, commit_transaction)
  64);
  65
  66DEFINE_EVENT(jbd_commit, jbd_commit_flushing,
  67
  68        TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  69
  70        TP_ARGS(journal, commit_transaction)
  71);
  72
  73DEFINE_EVENT(jbd_commit, jbd_commit_logging,
  74
  75        TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  76
  77        TP_ARGS(journal, commit_transaction)
  78);
  79
  80TRACE_EVENT(jbd_drop_transaction,
  81
  82        TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
  83
  84        TP_ARGS(journal, commit_transaction),
  85
  86        TP_STRUCT__entry(
  87                __field(        dev_t,  dev                     )
  88                __field(        int,    transaction             )
  89        ),
  90
  91        TP_fast_assign(
  92                __entry->dev            = journal->j_fs_dev->bd_dev;
  93                __entry->transaction    = commit_transaction->t_tid;
  94        ),
  95
  96        TP_printk("dev %d,%d transaction %d",
  97                  MAJOR(__entry->dev), MINOR(__entry->dev),
  98                  __entry->transaction)
  99);
 100
 101TRACE_EVENT(jbd_end_commit,
 102        TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
 103
 104        TP_ARGS(journal, commit_transaction),
 105
 106        TP_STRUCT__entry(
 107                __field(        dev_t,  dev                     )
 108                __field(        int,    transaction             )
 109                __field(        int,    head                    )
 110        ),
 111
 112        TP_fast_assign(
 113                __entry->dev            = journal->j_fs_dev->bd_dev;
 114                __entry->transaction    = commit_transaction->t_tid;
 115                __entry->head           = journal->j_tail_sequence;
 116        ),
 117
 118        TP_printk("dev %d,%d transaction %d head %d",
 119                  MAJOR(__entry->dev), MINOR(__entry->dev),
 120                  __entry->transaction, __entry->head)
 121);
 122
 123TRACE_EVENT(jbd_do_submit_data,
 124        TP_PROTO(journal_t *journal, transaction_t *commit_transaction),
 125
 126        TP_ARGS(journal, commit_transaction),
 127
 128        TP_STRUCT__entry(
 129                __field(        dev_t,  dev                     )
 130                __field(        int,    transaction             )
 131        ),
 132
 133        TP_fast_assign(
 134                __entry->dev            = journal->j_fs_dev->bd_dev;
 135                __entry->transaction    = commit_transaction->t_tid;
 136        ),
 137
 138        TP_printk("dev %d,%d transaction %d",
 139                  MAJOR(__entry->dev), MINOR(__entry->dev),
 140                   __entry->transaction)
 141);
 142
 143TRACE_EVENT(jbd_cleanup_journal_tail,
 144
 145        TP_PROTO(journal_t *journal, tid_t first_tid,
 146                 unsigned long block_nr, unsigned long freed),
 147
 148        TP_ARGS(journal, first_tid, block_nr, freed),
 149
 150        TP_STRUCT__entry(
 151                __field(        dev_t,  dev                     )
 152                __field(        tid_t,  tail_sequence           )
 153                __field(        tid_t,  first_tid               )
 154                __field(unsigned long,  block_nr                )
 155                __field(unsigned long,  freed                   )
 156        ),
 157
 158        TP_fast_assign(
 159                __entry->dev            = journal->j_fs_dev->bd_dev;
 160                __entry->tail_sequence  = journal->j_tail_sequence;
 161                __entry->first_tid      = first_tid;
 162                __entry->block_nr       = block_nr;
 163                __entry->freed          = freed;
 164        ),
 165
 166        TP_printk("dev %d,%d from %u to %u offset %lu freed %lu",
 167                  MAJOR(__entry->dev), MINOR(__entry->dev),
 168                  __entry->tail_sequence, __entry->first_tid,
 169                  __entry->block_nr, __entry->freed)
 170);
 171
 172TRACE_EVENT(journal_write_superblock,
 173        TP_PROTO(journal_t *journal, int write_op),
 174
 175        TP_ARGS(journal, write_op),
 176
 177        TP_STRUCT__entry(
 178                __field(        dev_t,  dev                     )
 179                __field(        int,    write_op                )
 180        ),
 181
 182        TP_fast_assign(
 183                __entry->dev            = journal->j_fs_dev->bd_dev;
 184                __entry->write_op       = write_op;
 185        ),
 186
 187        TP_printk("dev %d,%d write_op %x", MAJOR(__entry->dev),
 188                  MINOR(__entry->dev), __entry->write_op)
 189);
 190
 191#endif /* _TRACE_JBD_H */
 192
 193/* This part must be outside protection */
 194#include <trace/define_trace.h>
 195