diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2016-01-07 16:55:23 +0300 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2016-02-03 09:19:09 +0000 |
commit | 45bd0b41bdbf554e49fb510673309164c513a8c8 (patch) | |
tree | a2db17385a9b1175d0352655c1c6a1ec0498bac5 | |
parent | 52449a314e100e2db990ab9a156bb0173017f28d (diff) |
trace: split trace_init_events out of trace_init_backends
This is cleaner and has two advantages. First, it improves error
reporting with -daemonize. Second, multiple "-trace events" options
now cumulate.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Message-id: 1452174932-28657-3-git-send-email-den@openvz.org
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r-- | qemu-io.c | 2 | ||||
-rw-r--r-- | trace/control.c | 5 | ||||
-rw-r--r-- | trace/control.h | 15 | ||||
-rw-r--r-- | vl.c | 8 |
4 files changed, 19 insertions, 11 deletions
@@ -435,7 +435,7 @@ int main(int argc, char **argv) } break; case 'T': - if (!trace_init_backends(optarg, NULL)) { + if (!trace_init_backends(optarg)) { exit(1); /* error message will have been printed */ } break; diff --git a/trace/control.c b/trace/control.c index 700440c5ae..931d64c0c8 100644 --- a/trace/control.c +++ b/trace/control.c @@ -88,7 +88,7 @@ TraceEvent *trace_event_pattern(const char *pat, TraceEvent *ev) return NULL; } -static void trace_init_events(const char *fname) +void trace_init_events(const char *fname) { Location loc; FILE *fp; @@ -145,7 +145,7 @@ static void trace_init_events(const char *fname) loc_pop(&loc); } -bool trace_init_backends(const char *events, const char *file) +bool trace_init_backends(const char *file) { #ifdef CONFIG_TRACE_SIMPLE if (!st_init(file)) { @@ -167,6 +167,5 @@ bool trace_init_backends(const char *events, const char *file) } #endif - trace_init_events(events); return true; } diff --git a/trace/control.h b/trace/control.h index 6af7ddc628..7905917213 100644 --- a/trace/control.h +++ b/trace/control.h @@ -150,8 +150,6 @@ static void trace_event_set_state_dynamic(TraceEvent *ev, bool state); /** * trace_init_backends: - * @events: Name of file with events to be enabled at startup; may be NULL. - * Corresponds to commandline option "-trace events=...". * @file: Name of trace output file; may be NULL. * Corresponds to commandline option "-trace file=...". * @@ -159,7 +157,18 @@ static void trace_event_set_state_dynamic(TraceEvent *ev, bool state); * * Returns: Whether the backends could be successfully initialized. */ -bool trace_init_backends(const char *events, const char *file); +bool trace_init_backends(const char *file); + +/** + * trace_init_events: + * @events: Name of file with events to be enabled at startup; may be NULL. + * Corresponds to commandline option "-trace events=...". + * + * Read the list of enabled tracing events. + * + * Returns: Whether the backends could be successfully initialized. + */ +void trace_init_events(const char *file); #include "trace/control-internal.h" @@ -2988,7 +2988,6 @@ int main(int argc, char **argv, char **envp) bool userconfig = true; const char *log_mask = NULL; const char *log_file = NULL; - const char *trace_events = NULL; const char *trace_file = NULL; ram_addr_t maxram_size; uint64_t ram_slots = 0; @@ -3905,8 +3904,9 @@ int main(int argc, char **argv, char **envp) if (!opts) { exit(1); } - trace_events = qemu_opt_get(opts, "events"); + trace_init_events(qemu_opt_get(opts, "events")); trace_file = qemu_opt_get(opts, "file"); + qemu_opts_del(opts); break; } case QEMU_OPTION_readconfig: @@ -4106,7 +4106,7 @@ int main(int argc, char **argv, char **envp) } if (!is_daemonized()) { - if (!trace_init_backends(trace_events, trace_file)) { + if (!trace_init_backends(trace_file)) { exit(1); } } @@ -4653,7 +4653,7 @@ int main(int argc, char **argv, char **envp) os_setup_post(); if (is_daemonized()) { - if (!trace_init_backends(trace_events, trace_file)) { + if (!trace_init_backends(trace_file)) { exit(1); } } |