[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PULL 07/46] vl: Fix bogus error message for implied mon
From: |
Michael Tokarev |
Subject: |
[Qemu-trivial] [PULL 07/46] vl: Fix bogus error message for implied mon ID clashing |
Date: |
Tue, 10 Feb 2015 09:33:56 +0300 |
From: Markus Armbruster <address@hidden>
monitor_parse() desugars --monitor, --qmp and -qmp-pretty to --mon.
The ID it picks can clash with a user-specified ID. When it happens,
the error message is misleading.
Reproducer:
$ qemu --mon id=compat_monitor0 --monitor stdio
Message before the patch:
duplicate chardev: compat_monitor0
There's no "duplicate chardev" here. The problem is a duplicate
monitor ID. Moreover, the message provides no clue which option
caused the problem. The patch changes the message to:
qemu: --monitor stdio: Duplicate ID 'compat_monitor0' for mon
monitor_parse() is also used for creating a default monitor, but
that's not done when the user specifies a monitor, so an ID clash is
impossible then.
Signed-off-by: Markus Armbruster <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
---
vl.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/vl.c b/vl.c
index 983259b..2573afd 100644
--- a/vl.c
+++ b/vl.c
@@ -2195,6 +2195,7 @@ static int mon_init_func(QemuOpts *opts, void *opaque)
static void monitor_parse(const char *optarg, const char *mode, bool pretty)
{
static int monitor_device_index = 0;
+ Error *local_err = NULL;
QemuOpts *opts;
const char *p;
char label[32];
@@ -2215,9 +2216,10 @@ static void monitor_parse(const char *optarg, const char
*mode, bool pretty)
}
}
- opts = qemu_opts_create(qemu_find_opts("mon"), label, 1, NULL);
+ opts = qemu_opts_create(qemu_find_opts("mon"), label, 1, &local_err);
if (!opts) {
- fprintf(stderr, "duplicate chardev: %s\n", label);
+ error_report("%s", error_get_pretty(local_err));
+ error_free(local_err);
exit(1);
}
qemu_opt_set(opts, "mode", mode);
--
2.1.4
- [Qemu-trivial] [PULL 08/46] virtfs-proxy-helper: Fix possible socket leak., (continued)
- [Qemu-trivial] [PULL 08/46] virtfs-proxy-helper: Fix possible socket leak., Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 04/46] Add trace to ps2.c., Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 12/46] linux-user/syscall.c: do_ioctl_dm: Need to call unlock_user() before going to failure return in default case, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 36/46] translate-all: Use g_try_malloc() for dynamic translator buffer, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 02/46] fw_cfg: fix typos in comments: patch -> path, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 34/46] rdma: g_malloc0() can't fail, bury dead error handling, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 37/46] disas/cris: Fix warning caused by missing 'static' attribute, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 41/46] moxie: Fix warning caused by missing include statement, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 06/46] Convert some debugging printfs to trace calls in pcnet.c., Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 01/46] target-mips: Clean up switch fall through after commit fecd264, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 07/46] vl: Fix bogus error message for implied mon ID clashing,
Michael Tokarev <=
- [Qemu-trivial] [PULL 38/46] disas/sh4: Fix warning caused by missing 'static' attribute, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 29/46] QJSON: fix typo in author's email address, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 42/46] serial: Fix warnings caused by missing 'static' attribute, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 26/46] util/uri: uri_new() can't fail, drop dead error handling, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 45/46] vga: Fix warning caused by missing 'static' attribute, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 11/46] linux-user/main.c: Use TARGET_SIG* instead of SIG*, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 25/46] usb: Pair g_malloc() with g_free(), not free(), Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 10/46] linux-user/syscall.c: Fix typo issue for using target_vec[i].iov_len instead of target_vec[i].iov_base, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 18/46] vl.c: fix memory leak spotted by valgrind, Michael Tokarev, 2015/02/10
- [Qemu-trivial] [PULL 43/46] spice: Add missing 'static' attribute, Michael Tokarev, 2015/02/10