[PATCH 1/3] trace-cmd extract: Always read BTF file if available
Steven Rostedt <[email protected]> Tue, 3 Feb 2026 20:14:53 -0500
| Newsgroups | org.kernel.vger.linux-trace-devel |
|---|---|
| Message-ID | <[email protected]> |
From: "Steven Rostedt (Google)" <[email protected]> On extract, always read the btf file as it isn't known yet if it will be needed or not. Signed-off-by: Steven Rostedt (Google) <[email protected]> --- tracecmd/trace-record.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tracecmd/trace-record.c b/tracecmd/trace-record.c index 4872d0d77c8e..1cef9a623158 100644 --- a/tracecmd/trace-record.c +++ b/tracecmd/trace-record.c @@ -4666,13 +4666,21 @@ static void check_need_btf(bool *need_btf, struct tracefs_instance *instance) free(current); } +#define IS_EXTRACT(ctx) ((ctx)->curr_cmd == CMD_extract) +#define IS_START(ctx) ((ctx)->curr_cmd == CMD_start) +#define IS_CMDSET(ctx) ((ctx)->curr_cmd == CMD_set) +#define IS_STREAM(ctx) ((ctx)->curr_cmd == CMD_stream) +#define IS_PROFILE(ctx) ((ctx)->curr_cmd == CMD_profile) +#define IS_RECORD(ctx) ((ctx)->curr_cmd == CMD_record) +#define IS_RECORD_AGENT(ctx) ((ctx)->curr_cmd == CMD_record_agent) + static void record_data(struct common_record_context *ctx) { struct tracecmd_output *handle; struct buffer_instance *instance; bool have_proxy = false; bool local = false; - bool need_btf = false; + bool need_btf = IS_EXTRACT(ctx); int max_cpu_count = local_cpu_count; char **temp_files; int i; @@ -6230,14 +6238,6 @@ static void init_common_record_context(struct common_record_context *ctx, init_top_instance(); } -#define IS_EXTRACT(ctx) ((ctx)->curr_cmd == CMD_extract) -#define IS_START(ctx) ((ctx)->curr_cmd == CMD_start) -#define IS_CMDSET(ctx) ((ctx)->curr_cmd == CMD_set) -#define IS_STREAM(ctx) ((ctx)->curr_cmd == CMD_stream) -#define IS_PROFILE(ctx) ((ctx)->curr_cmd == CMD_profile) -#define IS_RECORD(ctx) ((ctx)->curr_cmd == CMD_record) -#define IS_RECORD_AGENT(ctx) ((ctx)->curr_cmd == CMD_record_agent) - static void add_argv(struct buffer_instance *instance, char *arg, bool prepend) { instance->argv = realloc(instance->argv, -- 2.51.0