1 #undef TRACE_SYSTEM 2 #define TRACE_SYSTEM jbd2 3 4 #if !defined(_TRACE_JBD2_H) || defined(TRACE_HEADER_MULTI_READ) 5 #define _TRACE_JBD2_H 6 7 #include <linux/jbd2.h> 8 #include <linux/tracepoint.h> 9 10 TRACE_EVENT(jbd2_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 %s result %d", 27 jbd2_dev_to_name(__entry->dev), __entry->result) 28 ); 29 30 TRACE_EVENT(jbd2_start_commit, 31 32 TP_PROTO(journal_t *journal, transaction_t *commit_transaction), 33 34 TP_ARGS(journal, commit_transaction), 35 36 TP_STRUCT__entry( 37 __field( dev_t, dev ) 38 __field( char, sync_commit ) 39 __field( int, transaction ) 40 ), 41 42 TP_fast_assign( 43 __entry->dev = journal->j_fs_dev->bd_dev; 44 __entry->sync_commit = commit_transaction->t_synchronous_commit; 45 __entry->transaction = commit_transaction->t_tid; 46 ), 47 48 TP_printk("dev %s transaction %d sync %d", 49 jbd2_dev_to_name(__entry->dev), __entry->transaction, 50 __entry->sync_commit) 51 ); 52 53 TRACE_EVENT(jbd2_commit_locking, 54 55 TP_PROTO(journal_t *journal, transaction_t *commit_transaction), 56 57 TP_ARGS(journal, commit_transaction), 58 59 TP_STRUCT__entry( 60 __field( dev_t, dev ) 61 __field( char, sync_commit ) 62 __field( int, transaction ) 63 ), 64 65 TP_fast_assign( 66 __entry->dev = journal->j_fs_dev->bd_dev; 67 __entry->sync_commit = commit_transaction->t_synchronous_commit; 68 __entry->transaction = commit_transaction->t_tid; 69 ), 70 71 TP_printk("dev %s transaction %d sync %d", 72 jbd2_dev_to_name(__entry->dev), __entry->transaction, 73 __entry->sync_commit) 74 ); 75 76 TRACE_EVENT(jbd2_commit_flushing, 77 78 TP_PROTO(journal_t *journal, transaction_t *commit_transaction), 79 80 TP_ARGS(journal, commit_transaction), 81 82 TP_STRUCT__entry( 83 __field( dev_t, dev ) 84 __field( char, sync_commit ) 85 __field( int, transaction ) 86 ), 87 88 TP_fast_assign( 89 __entry->dev = journal->j_fs_dev->bd_dev; 90 __entry->sync_commit = commit_transaction->t_synchronous_commit; 91 __entry->transaction = commit_transaction->t_tid; 92 ), 93 94 TP_printk("dev %s transaction %d sync %d", 95 jbd2_dev_to_name(__entry->dev), __entry->transaction, 96 __entry->sync_commit) 97 ); 98 99 TRACE_EVENT(jbd2_commit_logging, 100 101 TP_PROTO(journal_t *journal, transaction_t *commit_transaction), 102 103 TP_ARGS(journal, commit_transaction), 104 105 TP_STRUCT__entry( 106 __field( dev_t, dev ) 107 __field( char, sync_commit ) 108 __field( int, transaction ) 109 ), 110 111 TP_fast_assign( 112 __entry->dev = journal->j_fs_dev->bd_dev; 113 __entry->sync_commit = commit_transaction->t_synchronous_commit; 114 __entry->transaction = commit_transaction->t_tid; 115 ), 116 117 TP_printk("dev %s transaction %d sync %d", 118 jbd2_dev_to_name(__entry->dev), __entry->transaction, 119 __entry->sync_commit) 120 ); 121 122 TRACE_EVENT(jbd2_end_commit, 123 TP_PROTO(journal_t *journal, transaction_t *commit_transaction), 124 125 TP_ARGS(journal, commit_transaction), 126 127 TP_STRUCT__entry( 128 __field( dev_t, dev ) 129 __field( char, sync_commit ) 130 __field( int, transaction ) 131 __field( int, head ) 132 ), 133 134 TP_fast_assign( 135 __entry->dev = journal->j_fs_dev->bd_dev; 136 __entry->sync_commit = commit_transaction->t_synchronous_commit; 137 __entry->transaction = commit_transaction->t_tid; 138 __entry->head = journal->j_tail_sequence; 139 ), 140 141 TP_printk("dev %s transaction %d sync %d head %d", 142 jbd2_dev_to_name(__entry->dev), __entry->transaction, 143 __entry->sync_commit, __entry->head) 144 ); 145 146 TRACE_EVENT(jbd2_submit_inode_data, 147 TP_PROTO(struct inode *inode), 148 149 TP_ARGS(inode), 150 151 TP_STRUCT__entry( 152 __field( dev_t, dev ) 153 __field( ino_t, ino ) 154 ), 155 156 TP_fast_assign( 157 __entry->dev = inode->i_sb->s_dev; 158 __entry->ino = inode->i_ino; 159 ), 160 161 TP_printk("dev %s ino %lu", 162 jbd2_dev_to_name(__entry->dev), __entry->ino) 163 ); 164 165 #endif /* _TRACE_JBD2_H */ 166 167 /* This part must be outside protection */ 168 #include <trace/define_trace.h> 169