blktrace.h Routines

Files which include $<linux/blktrace.h>$ are supplied with the following kernel routine invocable interfaces:

blk_add_trace_rq(struct request_queue *q, struct request_queue *rq, u32 what)
Adds a trace event describing the state change of the passed in request_queue. The what parameter describes the change in the request_queue state, and is one of the request queue action specifiers - BLK_TA_QUEUE, BLK_TA_REQUEUE, BLK_TA_ISSUE, or BLK_TA_COMPLETE.

blk_add_trace_bio(struct request_queue *q, struct bio *bio, u32 what)
Adds a trace event for the BIO passed in. The what parameter describes the action being performed on the BIO, and is one of BLK_TA_BACKMERGE, BLK_TA_FRONTMERGE, or BLK_TA_QUEUE.

blk_add_trace_generic(struct request_queue *q, struct bio *bio, int rw, u32 what)
Adds a generic trace event - not one of the request queue or BIO traces. The what parameter describes the action being performed on the BIO (if bio is non-NULL), and is one of BLK_TA_PLUG, BLK_TA_GETRQ or BLK_TA_SLEEPRQ.

blk_add_trace_pdu_int(struct request_queue *q, u32 what, u32 pdu)
Adds a trace with some payload data - in this case, an unsigned 32-bit entity (the pdu parameter). The what parameter describes the nature of the payload, and is one of BLK_TA_UNPLUG_IO or BLK_TA_UNPLUG_TIMER.

blk_add_trace_remap(struct request_queue *q, struct bio *bio, dev_t dev, sector_t sector)
Adds a trace with a remap event. dev and sector denote the original device this bio was mapped from.

krzysiek 2007-01-30