[PATCH 2/3] tracing: Keep overwrite in sync between regular and snapshot buffers

From: Steven Rostedt
Date: Thu Mar 14 2013 - 17:40:59 EST


From: "Steven Rostedt (Red Hat)" <rostedt@xxxxxxxxxxx>

Changing the overwrite mode for the ring buffer via the trace
option only sets the normal buffer. But the snapshot buffer could
swap with it, and then the snapshot would be in non overwrite mode
and the normal buffer would be in overwrite mode, even though the
option flag states otherwise.

Keep the two buffers overwrite modes in sync.

Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
---
kernel/trace/trace.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 00daf5f..eaaccd8 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2895,8 +2895,10 @@ static void set_tracer_flags(unsigned int mask, int enabled)
if (mask == TRACE_ITER_RECORD_CMD)
trace_event_enable_cmd_record(enabled);

- if (mask == TRACE_ITER_OVERWRITE)
+ if (mask == TRACE_ITER_OVERWRITE) {
ring_buffer_change_overwrite(global_trace.buffer, enabled);
+ ring_buffer_change_overwrite(max_tr.buffer, enabled);
+ }

if (mask == TRACE_ITER_PRINTK)
trace_printk_start_stop_comm(enabled);
--
1.7.10.4


Attachment: signature.asc
Description: This is a digitally signed message part