1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/tools/lib/traceevent
Steven Rostedt 12e55569a2 tools lib traceevent: Use helper trace-seq in print functions like kernel does
Jiri Olsa reported that his plugin for scsi was chopping off part of the
output. Investigating this, I found that Jiri used the same functions as
what is in the kernel, which adds the following:

	trace_seq_putc(p, 0);

This adds a '\0' to the output string. The reason this works in the
kernel is that the "p" that is passed to the function helper is a
temporary trace_seq. But in the libtraceevent library, it's the pointer
to the trace_seq used to output. By adding the '\0', it truncates the
line and nothing added after that will be printed.

We can solve this in two ways. One is to have the helper functions for
the library not add the unnecessary '\0'. The other is to change the
library to also use a helper trace_seq structure that gets copied to the
main trace_seq just like the kernel does.

The latter allows the helper functions in the plugins to be the same as
the kernel, which is the better solution.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Reported-by: Jiri Olsa <jolsa@redhat.com>
Tested-by: Jiri Olsa <jolsa@redhat.com>
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/20131119182937.401668e3@gandalf.local.home
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2013-11-27 14:58:34 -03:00
..
.gitignore tools lib traceevent: Ignore TRACEEVENT-CFLAGS file 2012-07-25 11:54:44 -03:00
event-parse.c tools lib traceevent: Use helper trace-seq in print functions like kernel does 2013-11-27 14:58:34 -03:00
event-parse.h tools lib traceevent: Add pevent_print_func_field() helper function 2013-11-04 14:36:49 -03:00
event-utils.h tools lib traceevent: Update FSF postal address to be URL's. 2013-01-24 16:40:17 -03:00
kbuffer-parse.c tools lib traceevent: Port kbuffer parser routines 2013-07-12 13:52:16 -03:00
kbuffer.h tools lib traceevent: Port kbuffer parser routines 2013-07-12 13:52:16 -03:00
Makefile tools: Harmonize the various build messages in perf, lib-traceevent, lib-lk 2013-10-11 12:18:08 -03:00
parse-filter.c tools lib traceevent: Update FSF postal address to be URL's. 2013-01-24 16:40:17 -03:00
parse-utils.c tools lib traceevent: Add copyright header 2013-01-24 16:40:17 -03:00
trace-seq.c tools lib traceevent: Add trace_seq_reset() 2013-07-12 13:52:12 -03:00