From patchwork Mon Oct 26 09:10:19 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Denis V. Lunev" X-Patchwork-Id: 535756 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 862B8140D8E for ; Mon, 26 Oct 2015 20:11:27 +1100 (AEDT) Received: from localhost ([::1]:51293 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZqdoK-0007ek-V6 for incoming@patchwork.ozlabs.org; Mon, 26 Oct 2015 05:11:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42659) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zqdnc-0006b1-N8 for qemu-devel@nongnu.org; Mon, 26 Oct 2015 05:10:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZqdnZ-0001c2-E5 for qemu-devel@nongnu.org; Mon, 26 Oct 2015 05:10:40 -0400 Received: from mailhub.sw.ru ([195.214.232.25]:36261 helo=relay.sw.ru) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZqdnY-0001bR-R6 for qemu-devel@nongnu.org; Mon, 26 Oct 2015 05:10:37 -0400 Received: from irbis.sw.ru ([10.30.2.139]) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id t9Q9AQTs014460; Mon, 26 Oct 2015 12:10:31 +0300 (MSK) From: "Denis V. Lunev" To: Date: Mon, 26 Oct 2015 12:10:19 +0300 Message-Id: <1445850626-29407-3-git-send-email-den@openvz.org> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1445850626-29407-1-git-send-email-den@openvz.org> References: <1445850626-29407-1-git-send-email-den@openvz.org> X-detected-operating-system: by eggs.gnu.org: OpenBSD 3.x X-Received-From: 195.214.232.25 Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org, armbru@redhat.com, stefanha@redhat.com, "Denis V. Lunev" , pbonzini@redhat.com Subject: [Qemu-devel] [PATCH 02/11] trace: split trace_init_events out of trace_init_backends X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Paolo Bonzini 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 Signed-off-by: Denis V. Lunev Reviewed-by: Christian Borntraeger --- trace/control.c | 5 ++--- trace/control.h | 15 ++++++++++++--- vl.c | 8 ++++---- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/trace/control.c b/trace/control.c index 995beb3..ee5fbca 100644 --- a/trace/control.c +++ b/trace/control.c @@ -85,7 +85,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; @@ -142,7 +142,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)) { @@ -164,6 +164,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 da9bb6b..bfbe560 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" diff --git a/vl.c b/vl.c index dffaf09..ba29fef 100644 --- a/vl.c +++ b/vl.c @@ -2956,7 +2956,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; @@ -3881,8 +3880,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: @@ -4079,7 +4079,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); } } @@ -4631,7 +4631,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); } }