]> git.baikalelectronics.ru Git - kernel.git/commit
tools lib traceevent: Fix use of multiple options in processing field
authorSteven Rostedt <rostedt@goodmis.org>
Mon, 18 Nov 2013 19:23:14 +0000 (14:23 -0500)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 19 Nov 2013 13:34:39 +0000 (10:34 -0300)
commit7e5a4cca982076e5a35a6fa88eb509b52faec9db
treeeba26538043d78a5bdb7a1b3b08ff185d0b3435f
parent10057a353bd86468c0f38f8e6ff6be5fe6333294
tools lib traceevent: Fix use of multiple options in processing field

Jiri Olsa reported that the scsi_dispatch_cmd_done event failed to parse
with:

  Error: expected type 5 but read 4
  Error: expected type 5 but read 4

The problem is with this part of the print_fmt:

  __print_symbolic(((REC->result) >> 24) & 0xff, ...

The __print_symbolic() helper function's first parameter is the field to
use to determine what symbol to print based on the value of the result.
The parser can handle one operation, but it can not handle multiple
operations ('>>' and '&').

Add code to process all operations for the field argument for
__print_symbolic() as well as __print_flags().

Reported-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/20131118142314.27ca334b@gandalf.local.home
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/traceevent/event-parse.c