Commit 250bfd3d authored by Liu Bo's avatar Liu Bo Committed by Steven Rostedt

tracing: Fix regression of trace_pipe

Commit 0fb9656d "tracing: Make tracing_enabled be equal to tracing_on"
changes the behaviour of trace_pipe, ie. it makes trace_pipe return if
we've read something and tracing is enabled, and this means that we have
to 'cat trace_pipe' again and again while running tests.

IMO the right way is if tracing is enabled, we always block and wait for
ring buffer, or we may lose what we want since ring buffer's size is limited.

Link: http://lkml.kernel.org/r/1358132051-5410-1-git-send-email-bo.li.liu@oracle.comSigned-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
parent 2df8f8a6
...@@ -3454,7 +3454,7 @@ static int tracing_wait_pipe(struct file *filp) ...@@ -3454,7 +3454,7 @@ static int tracing_wait_pipe(struct file *filp)
return -EINTR; return -EINTR;
/* /*
* We block until we read something and tracing is enabled. * We block until we read something and tracing is disabled.
* We still block if tracing is disabled, but we have never * We still block if tracing is disabled, but we have never
* read anything. This allows a user to cat this file, and * read anything. This allows a user to cat this file, and
* then enable tracing. But after we have read something, * then enable tracing. But after we have read something,
...@@ -3462,7 +3462,7 @@ static int tracing_wait_pipe(struct file *filp) ...@@ -3462,7 +3462,7 @@ static int tracing_wait_pipe(struct file *filp)
* *
* iter->pos will be 0 if we haven't read anything. * iter->pos will be 0 if we haven't read anything.
*/ */
if (tracing_is_enabled() && iter->pos) if (!tracing_is_enabled() && iter->pos)
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment