Messages in this thread | | | Date | Mon, 17 Nov 2014 12:32:50 -0500 | From | Steven Rostedt <> | Subject | Re: [PATCH 19/26 v5] tracing: Use trace_seq_used() and seq_buf_used() instead of len |
| |
On Fri, 14 Nov 2014 23:59:06 -0500
> /* > @@ -4575,20 +4575,33 @@ static size_t > tracing_fill_pipe_page(size_t rem, struct trace_iterator *iter) > { > size_t count; > + int save_len; > int ret; > > /* Seq buffer is page-sized, exactly what we need. */ > for (;;) { > - count = iter->seq.seq.len; > + save_len = iter->seq.seq.len; > ret = print_trace_line(iter); > - count = iter->seq.seq.len - count; > - if (rem < count) { > - rem = 0; > - iter->seq.seq.len -= count; > + > + if (trace_seq_has_overflowed(&iter->seq)) { > + iter->seq.seq.len = save_len; > break; > } > + > + /* > + * This should not be hit, because it should only > + * be set if the iter->seq overflowed. But check it > + * anyway to be safe. > + */ > if (ret == TRACE_TYPE_PARTIAL_LINE) { > - iter->seq.seq.len -= count; > + iter->seq.seq.len = save_len; > + break; > + } > + > + count = trace_seq_used(&iter->seq) - save_len; > + if (rem < count) { > + rem = 0; > + iter->seq.seq.len = save_len;; > break; > } >
I don't like the fact that I did a code structure change with this patch. This patch should be just a simple conversion of len to seq_buf_used(). I'm going to strip this change out and put it before this patch.
-- Steve
| |