From 149da2f06323fc0176b99fb3beeec3dc6626e342 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Tue, 19 Dec 2017 17:17:33 +0100 Subject: [PATCH 1/2] monitor: Remove legacy "-mon default=on" parameter The "default" parameter of the "-mon" option is useless since QEMU v2.4.0, and marked as deprecated since QEMU v2.8.0. That should have been long enough to let people update their scripts, so time to remove it now. Signed-off-by: Thomas Huth Message-Id: <1513700253-10045-1-git-send-email-thuth@redhat.com> Reviewed-by: Dr. David Alan Gilbert Signed-off-by: Dr. David Alan Gilbert --- monitor.c | 3 --- qemu-doc.texi | 9 --------- vl.c | 4 ---- 3 files changed, 16 deletions(-) diff --git a/monitor.c b/monitor.c index f4992505b1..9a0d480c53 100644 --- a/monitor.c +++ b/monitor.c @@ -4142,9 +4142,6 @@ QemuOptsList qemu_mon_opts = { },{ .name = "chardev", .type = QEMU_OPT_STRING, - },{ - .name = "default", /* deprecated */ - .type = QEMU_OPT_BOOL, },{ .name = "pretty", .type = QEMU_OPT_BOOL, diff --git a/qemu-doc.texi b/qemu-doc.texi index 137f5814a8..56388b5b33 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -2628,15 +2628,6 @@ setting ``-machine kernel_irqchip=off''. The ``-no-kvm'' argument is now a synonym for setting ``-machine accel=tcg''. -@subsection -mon default=on (since 2.4.0) - -The ``default'' option to the ``-mon'' argument is -now ignored. When multiple monitors were enabled, it -indicated which monitor would receive log messages -from the various subsystems. This feature is no longer -required as messages are now only sent to the monitor -in response to explicitly monitor commands. - @subsection -vnc tls (since 2.5.0) The ``-vnc tls'' argument is now a synonym for setting diff --git a/vl.c b/vl.c index 7a5554bc41..81724f5f17 100644 --- a/vl.c +++ b/vl.c @@ -2423,10 +2423,6 @@ static int mon_init_func(void *opaque, QemuOpts *opts, Error **errp) if (qemu_opt_get_bool(opts, "pretty", 0)) flags |= MONITOR_USE_PRETTY; - if (qemu_opt_get_bool(opts, "default", 0)) { - error_report("option 'default' does nothing and is deprecated"); - } - chardev = qemu_opt_get(opts, "chardev"); chr = qemu_chr_find(chardev); if (chr == NULL) { From bf67f1c0b16c0de43b8a10cb53808dd62b0cdc04 Mon Sep 17 00:00:00 2001 From: "Dr. David Alan Gilbert" Date: Tue, 13 Feb 2018 12:51:43 +0000 Subject: [PATCH 2/2] monitor.c: Fix infinite loop in monitor's auto-complete The QEMU monitor enters an infinite loop when trying to auto-complete commands that accept only optional parameters. The commands currently affected by this issue are 'info registers' and 'info mtree'. Reported-by: Dimitris Karagkasidis Fixes: 48fe86f6400574165979e0db6f5937ad487b6888 Signed-off-by: Dr. David Alan Gilbert Message-Id: <20180213125143.23488-1-dgilbert@redhat.com> Reviewed-by: Stefan Hajnoczi Signed-off-by: Dr. David Alan Gilbert --- monitor.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/monitor.c b/monitor.c index 9a0d480c53..373bb8d1c3 100644 --- a/monitor.c +++ b/monitor.c @@ -3696,7 +3696,7 @@ static void monitor_find_completion_by_table(Monitor *mon, { const char *cmdname; int i; - const char *ptype, *str, *name; + const char *ptype, *old_ptype, *str, *name; const mon_cmd_t *cmd; BlockBackend *blk = NULL; @@ -3741,7 +3741,9 @@ static void monitor_find_completion_by_table(Monitor *mon, } } str = args[nb_args - 1]; - while (*ptype == '-' && ptype[1] != '\0') { + old_ptype = NULL; + while (*ptype == '-' && old_ptype != ptype) { + old_ptype = ptype; ptype = next_arg_type(ptype); } switch(*ptype) {