blktrace: fix pdu_len when tracing packet command requests
Impact: output all of packet commands - not just the first 4 / 8 bytes Since commit d7e3c3249ef23b4617393c69fe464765b4ff1645 ("block: add large command support"), struct request->cmd has been changed from unsinged char cmd[BLK_MAX_CDB] to unsigned char *cmd. v1 -> v2: by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> - make sure rq->cmd_len is always intialized, and then we can use rq->cmd_len instead of BLK_MAX_CDB. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jens Axboe <jens.axboe@oracle.com> LKML-Reference: <49D4507E.2060602@cn.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
7635b03adf
commit
e2494e1b42
@ -132,6 +132,7 @@ void blk_rq_init(struct request_queue *q, struct request *rq)
|
|||||||
INIT_HLIST_NODE(&rq->hash);
|
INIT_HLIST_NODE(&rq->hash);
|
||||||
RB_CLEAR_NODE(&rq->rb_node);
|
RB_CLEAR_NODE(&rq->rb_node);
|
||||||
rq->cmd = rq->__cmd;
|
rq->cmd = rq->__cmd;
|
||||||
|
rq->cmd_len = BLK_MAX_CDB;
|
||||||
rq->tag = -1;
|
rq->tag = -1;
|
||||||
rq->ref_count = 1;
|
rq->ref_count = 1;
|
||||||
}
|
}
|
||||||
|
@ -643,7 +643,7 @@ static void blk_add_trace_rq(struct request_queue *q, struct request *rq,
|
|||||||
if (blk_pc_request(rq)) {
|
if (blk_pc_request(rq)) {
|
||||||
what |= BLK_TC_ACT(BLK_TC_PC);
|
what |= BLK_TC_ACT(BLK_TC_PC);
|
||||||
__blk_add_trace(bt, 0, rq->data_len, rw, what, rq->errors,
|
__blk_add_trace(bt, 0, rq->data_len, rw, what, rq->errors,
|
||||||
sizeof(rq->cmd), rq->cmd);
|
rq->cmd_len, rq->cmd);
|
||||||
} else {
|
} else {
|
||||||
what |= BLK_TC_ACT(BLK_TC_FS);
|
what |= BLK_TC_ACT(BLK_TC_FS);
|
||||||
__blk_add_trace(bt, rq->hard_sector, rq->hard_nr_sectors << 9,
|
__blk_add_trace(bt, rq->hard_sector, rq->hard_nr_sectors << 9,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user