Commit 6d02eefe authored by Steven Rostedt's avatar Steven Rostedt Committed by Steven Rostedt (Google)

tracing: Fix ifdef of snapshots to not prevent last_boot_info file

The mapping of the ring buffer to memory allocated at boot up will also
expose a "last_boot_info" to help tooling to read the raw data from the
last boot. As instances that have their ring buffer mapped to fixed
memory cannot perform snapshots, they can either have the "snapshot" file
or the "last_boot_info" file, but not both.

The code that added the "last_boot_info" file failed to notice that the
"snapshot" creation was inside a "#ifdef CONFIG_TRACER_SNAPSHOT" and
incorrectly placed the creation of the "last_boot_info" file within the
ifdef block. Not only does it cause a warning when CONFIG_TRACER_SNAPSHOT
is not enabled, it also incorrectly prevents the file from appearing.

Link: https://lore.kernel.org/all/20240719102640.718554-1-arnd@kernel.org/

Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Reported-by: default avatarArnd Bergmann <arnd@kernel.org>
Link: https://lore.kernel.org/20240719101312.3d4ac707@rorschach.local.home
Fixes: 7a1d1e4b ("tracing/ring-buffer: Add last_boot_info file to boot instance")
Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
parent ee057c8c
...@@ -9828,15 +9828,15 @@ init_tracer_tracefs(struct trace_array *tr, struct dentry *d_tracer) ...@@ -9828,15 +9828,15 @@ init_tracer_tracefs(struct trace_array *tr, struct dentry *d_tracer)
if (ftrace_create_function_files(tr, d_tracer)) if (ftrace_create_function_files(tr, d_tracer))
MEM_FAIL(1, "Could not allocate function filter files"); MEM_FAIL(1, "Could not allocate function filter files");
#ifdef CONFIG_TRACER_SNAPSHOT
if (tr->range_addr_start) { if (tr->range_addr_start) {
trace_create_file("last_boot_info", TRACE_MODE_READ, d_tracer, trace_create_file("last_boot_info", TRACE_MODE_READ, d_tracer,
tr, &last_boot_fops); tr, &last_boot_fops);
#ifdef CONFIG_TRACER_SNAPSHOT
} else { } else {
trace_create_file("snapshot", TRACE_MODE_WRITE, d_tracer, trace_create_file("snapshot", TRACE_MODE_WRITE, d_tracer,
tr, &snapshot_fops); tr, &snapshot_fops);
}
#endif #endif
}
trace_create_file("error_log", TRACE_MODE_WRITE, d_tracer, trace_create_file("error_log", TRACE_MODE_WRITE, d_tracer,
tr, &tracing_err_log_fops); tr, &tracing_err_log_fops);
......
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