trace: judicious error checking of trace_seq results
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 3 Feb 2009 22:20:41 +0000 (20:20 -0200)
committerIngo Molnar <mingo@elte.hu>
Wed, 4 Feb 2009 19:48:30 +0000 (20:48 +0100)
commitd9793bd8018f835c64b10f44e278c86cecb8e932
treeda5ad9bc8f3fc7b4eb4ecd398f7c52a6f112d544
parentce70a0b472e06feae3a580ecb3fbef1e1e020a9b
trace: judicious error checking of trace_seq results

Impact: bugfix and cleanup

Some callsites were returning either TRACE_ITER_PARTIAL_LINE if the
trace_seq routines (trace_seq_printf, etc) returned 0 meaning its buffer
was full, or zero otherwise.

But...

/* Return values for print_line callback */
enum print_line_t {
        TRACE_TYPE_PARTIAL_LINE = 0,    /* Retry after flushing the seq */
        TRACE_TYPE_HANDLED      = 1,
        TRACE_TYPE_UNHANDLED    = 2     /* Relay to other output functions */
};

In other cases the return value was not being relayed at all.

Most of the time it didn't hurt because the page wasn't get filled, but
for correctness sake, handle the return values everywhere.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
block/blktrace.c
kernel/trace/trace.c
kernel/trace/trace_branch.c
kernel/trace/trace_output.c