Message ID | 20210209145759.141231-3-pbonzini@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | trace: fix "-trace file=...." | expand |
On 2/9/21 8:57 AM, Paolo Bonzini wrote: > When the "simple" backend is not active but the "log" backend is, > both "-trace file=" and "-D" will result in a call to > qemu_set_log_filename. Unfortunately, QEMU was also calling > qemu_set_log_filename if "-D" was not passed, so the "-trace > file=" option had no effect and the tracepoints went back to > stderr. > > Fortunately we can just skip qemu_set_log_filename in that case, > because the log backend will initialize itself just fine as soon > as qemu_set_log is called, also in qemu_process_early_options. > > Cc: stefanha@redhat.com > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > softmmu/vl.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > Reviewed-by: Eric Blake <eblake@redhat.com> > diff --git a/softmmu/vl.c b/softmmu/vl.c > index b219ce1f35..e67f91dd37 100644 > --- a/softmmu/vl.c > +++ b/softmmu/vl.c > @@ -2367,7 +2367,9 @@ static void qemu_process_early_options(void) > trace_init_file(); > > /* Open the logfile at this point and set the log mask if necessary. */ > - qemu_set_log_filename(log_file, &error_fatal); > + if (log_file) { > + qemu_set_log_filename(log_file, &error_fatal); > + } > if (log_mask) { > int mask; > mask = qemu_str_to_log_mask(log_mask); >
diff --git a/softmmu/vl.c b/softmmu/vl.c index b219ce1f35..e67f91dd37 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2367,7 +2367,9 @@ static void qemu_process_early_options(void) trace_init_file(); /* Open the logfile at this point and set the log mask if necessary. */ - qemu_set_log_filename(log_file, &error_fatal); + if (log_file) { + qemu_set_log_filename(log_file, &error_fatal); + } if (log_mask) { int mask; mask = qemu_str_to_log_mask(log_mask);
When the "simple" backend is not active but the "log" backend is, both "-trace file=" and "-D" will result in a call to qemu_set_log_filename. Unfortunately, QEMU was also calling qemu_set_log_filename if "-D" was not passed, so the "-trace file=" option had no effect and the tracepoints went back to stderr. Fortunately we can just skip qemu_set_log_filename in that case, because the log backend will initialize itself just fine as soon as qemu_set_log is called, also in qemu_process_early_options. Cc: stefanha@redhat.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- softmmu/vl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)