tracing: Fix trace_seq_printf() return value
authorJiri Olsa <jolsa@redhat.com>
Fri, 23 Oct 2009 23:36:17 +0000 (19:36 -0400)
committerIngo Molnar <mingo@elte.hu>
Sat, 24 Oct 2009 09:07:50 +0000 (11:07 +0200)
commit3e69533b51930a7169235db2caf703884e6e3bbb
tree4cd0fe383dcb9eab2b0f944f227caffa3cdcd209
parentcf8517cf905b5cd31d5790250b9ac39f7cb8aa53
tracing: Fix trace_seq_printf() return value

trace_seq_printf() return value is a little ambiguous. It
currently returns the length of the space available in the
buffer. printf usually returns the amount written. This is not
adequate here, because:

  trace_seq_printf(s, "");

is perfectly legal, and returning 0 would indicate that it
failed.

We can always see the amount written by looking at the before
and after values of s->len. This is not quite the same use as
printf. We only care if the string was successfully written to
the buffer or not.

Make trace_seq_printf() return 0 if the trace oversizes the
buffer's free space, 1 otherwise.

Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
LKML-Reference: <20091023233646.631787612@goodmis.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/trace/trace_output.c