blktrace: fix wrong calculation of RWBS
Impact: fix the output of IO type category characters Trace categories are the upper 16 bits, not the lower 16 bits. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Acked-by: Jens Axboe <jens.axboe@oracle.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Arnaldo Carvalho de Melo <acme@redhat.com> LKML-Reference: <49C89432.8010805@cn.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
e4955c9986
commit
65796348e0
1 changed files with 7 additions and 6 deletions
|
@ -922,23 +922,24 @@ static void blk_unregister_tracepoints(void)
|
|||
static void fill_rwbs(char *rwbs, const struct blk_io_trace *t)
|
||||
{
|
||||
int i = 0;
|
||||
int tc = t->action >> BLK_TC_SHIFT;
|
||||
|
||||
if (t->action & BLK_TC_DISCARD)
|
||||
if (tc & BLK_TC_DISCARD)
|
||||
rwbs[i++] = 'D';
|
||||
else if (t->action & BLK_TC_WRITE)
|
||||
else if (tc & BLK_TC_WRITE)
|
||||
rwbs[i++] = 'W';
|
||||
else if (t->bytes)
|
||||
rwbs[i++] = 'R';
|
||||
else
|
||||
rwbs[i++] = 'N';
|
||||
|
||||
if (t->action & BLK_TC_AHEAD)
|
||||
if (tc & BLK_TC_AHEAD)
|
||||
rwbs[i++] = 'A';
|
||||
if (t->action & BLK_TC_BARRIER)
|
||||
if (tc & BLK_TC_BARRIER)
|
||||
rwbs[i++] = 'B';
|
||||
if (t->action & BLK_TC_SYNC)
|
||||
if (tc & BLK_TC_SYNC)
|
||||
rwbs[i++] = 'S';
|
||||
if (t->action & BLK_TC_META)
|
||||
if (tc & BLK_TC_META)
|
||||
rwbs[i++] = 'M';
|
||||
|
||||
rwbs[i] = '\0';
|
||||
|
|
Loading…
Reference in a new issue