1d0b6e04aSLi Zefan #undef TRACE_SYSTEM 2d0b6e04aSLi Zefan #define TRACE_SYSTEM block 3d0b6e04aSLi Zefan 455782138SLi Zefan #if !defined(_TRACE_BLOCK_H) || defined(TRACE_HEADER_MULTI_READ) 555782138SLi Zefan #define _TRACE_BLOCK_H 655782138SLi Zefan 755782138SLi Zefan #include <linux/blktrace_api.h> 855782138SLi Zefan #include <linux/blkdev.h> 955782138SLi Zefan #include <linux/tracepoint.h> 1055782138SLi Zefan 11*77ca1e02SLi Zefan DECLARE_EVENT_CLASS(block_rq_with_error, 1255782138SLi Zefan 1355782138SLi Zefan TP_PROTO(struct request_queue *q, struct request *rq), 1455782138SLi Zefan 1555782138SLi Zefan TP_ARGS(q, rq), 1655782138SLi Zefan 1755782138SLi Zefan TP_STRUCT__entry( 1855782138SLi Zefan __field( dev_t, dev ) 1955782138SLi Zefan __field( sector_t, sector ) 2055782138SLi Zefan __field( unsigned int, nr_sector ) 2155782138SLi Zefan __field( int, errors ) 2255782138SLi Zefan __array( char, rwbs, 6 ) 2355782138SLi Zefan __dynamic_array( char, cmd, blk_cmd_buf_len(rq) ) 2455782138SLi Zefan ), 2555782138SLi Zefan 2655782138SLi Zefan TP_fast_assign( 2755782138SLi Zefan __entry->dev = rq->rq_disk ? disk_devt(rq->rq_disk) : 0; 28c9059598SLinus Torvalds __entry->sector = blk_pc_request(rq) ? 0 : blk_rq_pos(rq); 29c9059598SLinus Torvalds __entry->nr_sector = blk_pc_request(rq) ? 0 : blk_rq_sectors(rq); 3055782138SLi Zefan __entry->errors = rq->errors; 3155782138SLi Zefan 3255782138SLi Zefan blk_fill_rwbs_rq(__entry->rwbs, rq); 3355782138SLi Zefan blk_dump_cmd(__get_str(cmd), rq); 3455782138SLi Zefan ), 3555782138SLi Zefan 3655782138SLi Zefan TP_printk("%d,%d %s (%s) %llu + %u [%d]", 3755782138SLi Zefan MAJOR(__entry->dev), MINOR(__entry->dev), 3855782138SLi Zefan __entry->rwbs, __get_str(cmd), 396556d1dfSSteven Rostedt (unsigned long long)__entry->sector, 406556d1dfSSteven Rostedt __entry->nr_sector, __entry->errors) 4155782138SLi Zefan ); 4255782138SLi Zefan 43*77ca1e02SLi Zefan DEFINE_EVENT(block_rq_with_error, block_rq_abort, 44*77ca1e02SLi Zefan 45*77ca1e02SLi Zefan TP_PROTO(struct request_queue *q, struct request *rq), 46*77ca1e02SLi Zefan 47*77ca1e02SLi Zefan TP_ARGS(q, rq) 48*77ca1e02SLi Zefan ); 49*77ca1e02SLi Zefan 50*77ca1e02SLi Zefan DEFINE_EVENT(block_rq_with_error, block_rq_requeue, 51*77ca1e02SLi Zefan 52*77ca1e02SLi Zefan TP_PROTO(struct request_queue *q, struct request *rq), 53*77ca1e02SLi Zefan 54*77ca1e02SLi Zefan TP_ARGS(q, rq) 55*77ca1e02SLi Zefan ); 56*77ca1e02SLi Zefan 57*77ca1e02SLi Zefan DEFINE_EVENT(block_rq_with_error, block_rq_complete, 58*77ca1e02SLi Zefan 59*77ca1e02SLi Zefan TP_PROTO(struct request_queue *q, struct request *rq), 60*77ca1e02SLi Zefan 61*77ca1e02SLi Zefan TP_ARGS(q, rq) 62*77ca1e02SLi Zefan ); 63*77ca1e02SLi Zefan 64*77ca1e02SLi Zefan DECLARE_EVENT_CLASS(block_rq, 6555782138SLi Zefan 6655782138SLi Zefan TP_PROTO(struct request_queue *q, struct request *rq), 6755782138SLi Zefan 6855782138SLi Zefan TP_ARGS(q, rq), 6955782138SLi Zefan 7055782138SLi Zefan TP_STRUCT__entry( 7155782138SLi Zefan __field( dev_t, dev ) 7255782138SLi Zefan __field( sector_t, sector ) 7355782138SLi Zefan __field( unsigned int, nr_sector ) 7455782138SLi Zefan __field( unsigned int, bytes ) 7555782138SLi Zefan __array( char, rwbs, 6 ) 7655782138SLi Zefan __array( char, comm, TASK_COMM_LEN ) 7755782138SLi Zefan __dynamic_array( char, cmd, blk_cmd_buf_len(rq) ) 7855782138SLi Zefan ), 7955782138SLi Zefan 8055782138SLi Zefan TP_fast_assign( 8155782138SLi Zefan __entry->dev = rq->rq_disk ? disk_devt(rq->rq_disk) : 0; 82c9059598SLinus Torvalds __entry->sector = blk_pc_request(rq) ? 0 : blk_rq_pos(rq); 83c9059598SLinus Torvalds __entry->nr_sector = blk_pc_request(rq) ? 0 : blk_rq_sectors(rq); 84c9059598SLinus Torvalds __entry->bytes = blk_pc_request(rq) ? blk_rq_bytes(rq) : 0; 8555782138SLi Zefan 8655782138SLi Zefan blk_fill_rwbs_rq(__entry->rwbs, rq); 8755782138SLi Zefan blk_dump_cmd(__get_str(cmd), rq); 8855782138SLi Zefan memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 8955782138SLi Zefan ), 9055782138SLi Zefan 9155782138SLi Zefan TP_printk("%d,%d %s %u (%s) %llu + %u [%s]", 9255782138SLi Zefan MAJOR(__entry->dev), MINOR(__entry->dev), 9355782138SLi Zefan __entry->rwbs, __entry->bytes, __get_str(cmd), 946556d1dfSSteven Rostedt (unsigned long long)__entry->sector, 956556d1dfSSteven Rostedt __entry->nr_sector, __entry->comm) 9655782138SLi Zefan ); 9755782138SLi Zefan 98*77ca1e02SLi Zefan DEFINE_EVENT(block_rq, block_rq_insert, 9955782138SLi Zefan 10055782138SLi Zefan TP_PROTO(struct request_queue *q, struct request *rq), 10155782138SLi Zefan 102*77ca1e02SLi Zefan TP_ARGS(q, rq) 10355782138SLi Zefan ); 10455782138SLi Zefan 105*77ca1e02SLi Zefan DEFINE_EVENT(block_rq, block_rq_issue, 10655782138SLi Zefan 10755782138SLi Zefan TP_PROTO(struct request_queue *q, struct request *rq), 10855782138SLi Zefan 109*77ca1e02SLi Zefan TP_ARGS(q, rq) 11055782138SLi Zefan ); 111fe63b94aSCarsten Emde 11255782138SLi Zefan TRACE_EVENT(block_bio_bounce, 11355782138SLi Zefan 11455782138SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio), 11555782138SLi Zefan 11655782138SLi Zefan TP_ARGS(q, bio), 11755782138SLi Zefan 11855782138SLi Zefan TP_STRUCT__entry( 11955782138SLi Zefan __field( dev_t, dev ) 12055782138SLi Zefan __field( sector_t, sector ) 12155782138SLi Zefan __field( unsigned int, nr_sector ) 12255782138SLi Zefan __array( char, rwbs, 6 ) 12355782138SLi Zefan __array( char, comm, TASK_COMM_LEN ) 12455782138SLi Zefan ), 12555782138SLi Zefan 12655782138SLi Zefan TP_fast_assign( 127fe63b94aSCarsten Emde __entry->dev = bio->bi_bdev ? 128fe63b94aSCarsten Emde bio->bi_bdev->bd_dev : 0; 12955782138SLi Zefan __entry->sector = bio->bi_sector; 13055782138SLi Zefan __entry->nr_sector = bio->bi_size >> 9; 13155782138SLi Zefan blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); 13255782138SLi Zefan memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 13355782138SLi Zefan ), 13455782138SLi Zefan 13555782138SLi Zefan TP_printk("%d,%d %s %llu + %u [%s]", 13655782138SLi Zefan MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, 1376556d1dfSSteven Rostedt (unsigned long long)__entry->sector, 1386556d1dfSSteven Rostedt __entry->nr_sector, __entry->comm) 13955782138SLi Zefan ); 14055782138SLi Zefan 14155782138SLi Zefan TRACE_EVENT(block_bio_complete, 14255782138SLi Zefan 14355782138SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio), 14455782138SLi Zefan 14555782138SLi Zefan TP_ARGS(q, bio), 14655782138SLi Zefan 14755782138SLi Zefan TP_STRUCT__entry( 14855782138SLi Zefan __field( dev_t, dev ) 14955782138SLi Zefan __field( sector_t, sector ) 15055782138SLi Zefan __field( unsigned, nr_sector ) 15155782138SLi Zefan __field( int, error ) 15255782138SLi Zefan __array( char, rwbs, 6 ) 15355782138SLi Zefan ), 15455782138SLi Zefan 15555782138SLi Zefan TP_fast_assign( 15655782138SLi Zefan __entry->dev = bio->bi_bdev->bd_dev; 15755782138SLi Zefan __entry->sector = bio->bi_sector; 15855782138SLi Zefan __entry->nr_sector = bio->bi_size >> 9; 15955782138SLi Zefan blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); 16055782138SLi Zefan ), 16155782138SLi Zefan 16255782138SLi Zefan TP_printk("%d,%d %s %llu + %u [%d]", 16355782138SLi Zefan MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, 1646556d1dfSSteven Rostedt (unsigned long long)__entry->sector, 1656556d1dfSSteven Rostedt __entry->nr_sector, __entry->error) 16655782138SLi Zefan ); 16755782138SLi Zefan 168*77ca1e02SLi Zefan DECLARE_EVENT_CLASS(block_bio, 16955782138SLi Zefan 17055782138SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio), 17155782138SLi Zefan 17255782138SLi Zefan TP_ARGS(q, bio), 17355782138SLi Zefan 17455782138SLi Zefan TP_STRUCT__entry( 17555782138SLi Zefan __field( dev_t, dev ) 17655782138SLi Zefan __field( sector_t, sector ) 17755782138SLi Zefan __field( unsigned int, nr_sector ) 17855782138SLi Zefan __array( char, rwbs, 6 ) 17955782138SLi Zefan __array( char, comm, TASK_COMM_LEN ) 18055782138SLi Zefan ), 18155782138SLi Zefan 18255782138SLi Zefan TP_fast_assign( 18355782138SLi Zefan __entry->dev = bio->bi_bdev->bd_dev; 18455782138SLi Zefan __entry->sector = bio->bi_sector; 18555782138SLi Zefan __entry->nr_sector = bio->bi_size >> 9; 18655782138SLi Zefan blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); 18755782138SLi Zefan memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 18855782138SLi Zefan ), 18955782138SLi Zefan 19055782138SLi Zefan TP_printk("%d,%d %s %llu + %u [%s]", 19155782138SLi Zefan MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, 1926556d1dfSSteven Rostedt (unsigned long long)__entry->sector, 1936556d1dfSSteven Rostedt __entry->nr_sector, __entry->comm) 19455782138SLi Zefan ); 19555782138SLi Zefan 196*77ca1e02SLi Zefan DEFINE_EVENT(block_bio, block_bio_backmerge, 19755782138SLi Zefan 19855782138SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio), 19955782138SLi Zefan 200*77ca1e02SLi Zefan TP_ARGS(q, bio) 20155782138SLi Zefan ); 20255782138SLi Zefan 203*77ca1e02SLi Zefan DEFINE_EVENT(block_bio, block_bio_frontmerge, 20455782138SLi Zefan 20555782138SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio), 20655782138SLi Zefan 207*77ca1e02SLi Zefan TP_ARGS(q, bio) 20855782138SLi Zefan ); 20955782138SLi Zefan 210*77ca1e02SLi Zefan DEFINE_EVENT(block_bio, block_bio_queue, 211*77ca1e02SLi Zefan 212*77ca1e02SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio), 213*77ca1e02SLi Zefan 214*77ca1e02SLi Zefan TP_ARGS(q, bio) 215*77ca1e02SLi Zefan ); 216*77ca1e02SLi Zefan 217*77ca1e02SLi Zefan DECLARE_EVENT_CLASS(block_get_rq, 21855782138SLi Zefan 21955782138SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio, int rw), 22055782138SLi Zefan 22155782138SLi Zefan TP_ARGS(q, bio, rw), 22255782138SLi Zefan 22355782138SLi Zefan TP_STRUCT__entry( 22455782138SLi Zefan __field( dev_t, dev ) 22555782138SLi Zefan __field( sector_t, sector ) 22655782138SLi Zefan __field( unsigned int, nr_sector ) 22755782138SLi Zefan __array( char, rwbs, 6 ) 22855782138SLi Zefan __array( char, comm, TASK_COMM_LEN ) 22955782138SLi Zefan ), 23055782138SLi Zefan 23155782138SLi Zefan TP_fast_assign( 23255782138SLi Zefan __entry->dev = bio ? bio->bi_bdev->bd_dev : 0; 23355782138SLi Zefan __entry->sector = bio ? bio->bi_sector : 0; 23455782138SLi Zefan __entry->nr_sector = bio ? bio->bi_size >> 9 : 0; 23555782138SLi Zefan blk_fill_rwbs(__entry->rwbs, 23655782138SLi Zefan bio ? bio->bi_rw : 0, __entry->nr_sector); 23755782138SLi Zefan memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 23855782138SLi Zefan ), 23955782138SLi Zefan 24055782138SLi Zefan TP_printk("%d,%d %s %llu + %u [%s]", 24155782138SLi Zefan MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, 2426556d1dfSSteven Rostedt (unsigned long long)__entry->sector, 2436556d1dfSSteven Rostedt __entry->nr_sector, __entry->comm) 24455782138SLi Zefan ); 24555782138SLi Zefan 246*77ca1e02SLi Zefan DEFINE_EVENT(block_get_rq, block_getrq, 24755782138SLi Zefan 24855782138SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio, int rw), 24955782138SLi Zefan 250*77ca1e02SLi Zefan TP_ARGS(q, bio, rw) 251*77ca1e02SLi Zefan ); 25255782138SLi Zefan 253*77ca1e02SLi Zefan DEFINE_EVENT(block_get_rq, block_sleeprq, 25455782138SLi Zefan 255*77ca1e02SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio, int rw), 25655782138SLi Zefan 257*77ca1e02SLi Zefan TP_ARGS(q, bio, rw) 25855782138SLi Zefan ); 25955782138SLi Zefan 26055782138SLi Zefan TRACE_EVENT(block_plug, 26155782138SLi Zefan 26255782138SLi Zefan TP_PROTO(struct request_queue *q), 26355782138SLi Zefan 26455782138SLi Zefan TP_ARGS(q), 26555782138SLi Zefan 26655782138SLi Zefan TP_STRUCT__entry( 26755782138SLi Zefan __array( char, comm, TASK_COMM_LEN ) 26855782138SLi Zefan ), 26955782138SLi Zefan 27055782138SLi Zefan TP_fast_assign( 27155782138SLi Zefan memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 27255782138SLi Zefan ), 27355782138SLi Zefan 27455782138SLi Zefan TP_printk("[%s]", __entry->comm) 27555782138SLi Zefan ); 27655782138SLi Zefan 277*77ca1e02SLi Zefan DECLARE_EVENT_CLASS(block_unplug, 27855782138SLi Zefan 27955782138SLi Zefan TP_PROTO(struct request_queue *q), 28055782138SLi Zefan 28155782138SLi Zefan TP_ARGS(q), 28255782138SLi Zefan 28355782138SLi Zefan TP_STRUCT__entry( 28455782138SLi Zefan __field( int, nr_rq ) 28555782138SLi Zefan __array( char, comm, TASK_COMM_LEN ) 28655782138SLi Zefan ), 28755782138SLi Zefan 28855782138SLi Zefan TP_fast_assign( 28955782138SLi Zefan __entry->nr_rq = q->rq.count[READ] + q->rq.count[WRITE]; 29055782138SLi Zefan memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 29155782138SLi Zefan ), 29255782138SLi Zefan 29355782138SLi Zefan TP_printk("[%s] %d", __entry->comm, __entry->nr_rq) 29455782138SLi Zefan ); 29555782138SLi Zefan 296*77ca1e02SLi Zefan DEFINE_EVENT(block_unplug, block_unplug_timer, 29755782138SLi Zefan 29855782138SLi Zefan TP_PROTO(struct request_queue *q), 29955782138SLi Zefan 300*77ca1e02SLi Zefan TP_ARGS(q) 301*77ca1e02SLi Zefan ); 30255782138SLi Zefan 303*77ca1e02SLi Zefan DEFINE_EVENT(block_unplug, block_unplug_io, 30455782138SLi Zefan 305*77ca1e02SLi Zefan TP_PROTO(struct request_queue *q), 30655782138SLi Zefan 307*77ca1e02SLi Zefan TP_ARGS(q) 30855782138SLi Zefan ); 30955782138SLi Zefan 31055782138SLi Zefan TRACE_EVENT(block_split, 31155782138SLi Zefan 31255782138SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio, 31355782138SLi Zefan unsigned int new_sector), 31455782138SLi Zefan 31555782138SLi Zefan TP_ARGS(q, bio, new_sector), 31655782138SLi Zefan 31755782138SLi Zefan TP_STRUCT__entry( 31855782138SLi Zefan __field( dev_t, dev ) 31955782138SLi Zefan __field( sector_t, sector ) 32055782138SLi Zefan __field( sector_t, new_sector ) 32155782138SLi Zefan __array( char, rwbs, 6 ) 32255782138SLi Zefan __array( char, comm, TASK_COMM_LEN ) 32355782138SLi Zefan ), 32455782138SLi Zefan 32555782138SLi Zefan TP_fast_assign( 32655782138SLi Zefan __entry->dev = bio->bi_bdev->bd_dev; 32755782138SLi Zefan __entry->sector = bio->bi_sector; 32855782138SLi Zefan __entry->new_sector = new_sector; 32955782138SLi Zefan blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); 33055782138SLi Zefan memcpy(__entry->comm, current->comm, TASK_COMM_LEN); 33155782138SLi Zefan ), 33255782138SLi Zefan 33355782138SLi Zefan TP_printk("%d,%d %s %llu / %llu [%s]", 33455782138SLi Zefan MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, 3356556d1dfSSteven Rostedt (unsigned long long)__entry->sector, 3366556d1dfSSteven Rostedt (unsigned long long)__entry->new_sector, 3376556d1dfSSteven Rostedt __entry->comm) 33855782138SLi Zefan ); 33955782138SLi Zefan 34055782138SLi Zefan TRACE_EVENT(block_remap, 34155782138SLi Zefan 34255782138SLi Zefan TP_PROTO(struct request_queue *q, struct bio *bio, dev_t dev, 34355782138SLi Zefan sector_t from), 34455782138SLi Zefan 34555782138SLi Zefan TP_ARGS(q, bio, dev, from), 34655782138SLi Zefan 34755782138SLi Zefan TP_STRUCT__entry( 34855782138SLi Zefan __field( dev_t, dev ) 34955782138SLi Zefan __field( sector_t, sector ) 35055782138SLi Zefan __field( unsigned int, nr_sector ) 35155782138SLi Zefan __field( dev_t, old_dev ) 35255782138SLi Zefan __field( sector_t, old_sector ) 35355782138SLi Zefan __array( char, rwbs, 6 ) 35455782138SLi Zefan ), 35555782138SLi Zefan 35655782138SLi Zefan TP_fast_assign( 35755782138SLi Zefan __entry->dev = bio->bi_bdev->bd_dev; 35855782138SLi Zefan __entry->sector = bio->bi_sector; 35955782138SLi Zefan __entry->nr_sector = bio->bi_size >> 9; 36055782138SLi Zefan __entry->old_dev = dev; 36155782138SLi Zefan __entry->old_sector = from; 36255782138SLi Zefan blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); 36355782138SLi Zefan ), 36455782138SLi Zefan 36555782138SLi Zefan TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu", 36655782138SLi Zefan MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, 3676556d1dfSSteven Rostedt (unsigned long long)__entry->sector, 3686556d1dfSSteven Rostedt __entry->nr_sector, 36955782138SLi Zefan MAJOR(__entry->old_dev), MINOR(__entry->old_dev), 3706556d1dfSSteven Rostedt (unsigned long long)__entry->old_sector) 37155782138SLi Zefan ); 37255782138SLi Zefan 373b0da3f0dSJun'ichi Nomura TRACE_EVENT(block_rq_remap, 374b0da3f0dSJun'ichi Nomura 375b0da3f0dSJun'ichi Nomura TP_PROTO(struct request_queue *q, struct request *rq, dev_t dev, 376b0da3f0dSJun'ichi Nomura sector_t from), 377b0da3f0dSJun'ichi Nomura 378b0da3f0dSJun'ichi Nomura TP_ARGS(q, rq, dev, from), 379b0da3f0dSJun'ichi Nomura 380b0da3f0dSJun'ichi Nomura TP_STRUCT__entry( 381b0da3f0dSJun'ichi Nomura __field( dev_t, dev ) 382b0da3f0dSJun'ichi Nomura __field( sector_t, sector ) 383b0da3f0dSJun'ichi Nomura __field( unsigned int, nr_sector ) 384b0da3f0dSJun'ichi Nomura __field( dev_t, old_dev ) 385b0da3f0dSJun'ichi Nomura __field( sector_t, old_sector ) 386b0da3f0dSJun'ichi Nomura __array( char, rwbs, 6 ) 387b0da3f0dSJun'ichi Nomura ), 388b0da3f0dSJun'ichi Nomura 389b0da3f0dSJun'ichi Nomura TP_fast_assign( 390b0da3f0dSJun'ichi Nomura __entry->dev = disk_devt(rq->rq_disk); 391b0da3f0dSJun'ichi Nomura __entry->sector = blk_rq_pos(rq); 392b0da3f0dSJun'ichi Nomura __entry->nr_sector = blk_rq_sectors(rq); 393b0da3f0dSJun'ichi Nomura __entry->old_dev = dev; 394b0da3f0dSJun'ichi Nomura __entry->old_sector = from; 395b0da3f0dSJun'ichi Nomura blk_fill_rwbs_rq(__entry->rwbs, rq); 396b0da3f0dSJun'ichi Nomura ), 397b0da3f0dSJun'ichi Nomura 398b0da3f0dSJun'ichi Nomura TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu", 399b0da3f0dSJun'ichi Nomura MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, 400b0da3f0dSJun'ichi Nomura (unsigned long long)__entry->sector, 401b0da3f0dSJun'ichi Nomura __entry->nr_sector, 402b0da3f0dSJun'ichi Nomura MAJOR(__entry->old_dev), MINOR(__entry->old_dev), 403b0da3f0dSJun'ichi Nomura (unsigned long long)__entry->old_sector) 404b0da3f0dSJun'ichi Nomura ); 405b0da3f0dSJun'ichi Nomura 40655782138SLi Zefan #endif /* _TRACE_BLOCK_H */ 40755782138SLi Zefan 40855782138SLi Zefan /* This part must be outside protection */ 40955782138SLi Zefan #include <trace/define_trace.h> 41055782138SLi Zefan 411