From 7875a7866086dc80e174dd62a53aa687daa012c7 Mon Sep 17 00:00:00 2001 Message-Id: <7875a7866086dc80e174dd62a53aa687daa012c7@dist-git> From: Jiri Denemark Date: Wed, 26 Sep 2018 09:59:08 +0200 Subject: [PATCH] virsh: Require explicit --domain for domxml-to-native MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The domxml-to-native virsh command accepts either --xml or --domain option followed by a file or domain name respectively. The --domain option is documented as required, which means an argument with no option is treated as --xml. Commit v4.3.0-127-gd86531daf2 broke this by making --domain optional and thus an argument with no option was treated as --domain. https://bugzilla.redhat.com/show_bug.cgi?id=1633077 Signed-off-by: Jiri Denemark (cherry picked from commit b7ccd0757de73344a4b973ede946dad40de846c7) https://bugzilla.redhat.com/show_bug.cgi?id=1634769 Signed-off-by: Jiri Denemark Reviewed-by: Ján Tomko --- tools/virsh-domain.c | 6 +++--- tools/virsh.h | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 6aa79f11b9..db4834dd1f 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -9387,7 +9387,7 @@ static const vshCmdInfo info_qemu_monitor_event[] = { static const vshCmdOptDef opts_qemu_monitor_event[] = { VIRSH_COMMON_OPT_DOMAIN_OT_STRING(N_("filter by domain name, id or uuid"), - 0), + 0, 0), {.name = "event", .type = VSH_OT_STRING, .help = N_("filter by event name") @@ -9940,7 +9940,7 @@ static const vshCmdOptDef opts_domxmltonative[] = { .flags = VSH_OFLAG_REQ, .help = N_("target config data type format") }, - VIRSH_COMMON_OPT_DOMAIN_OT_STRING_FULL(0), + VIRSH_COMMON_OPT_DOMAIN_OT_STRING_FULL(VSH_OFLAG_REQ_OPT, 0), {.name = "xml", .type = VSH_OT_STRING, .help = N_("xml data file to export from") @@ -13189,7 +13189,7 @@ static const vshCmdInfo info_event[] = { static const vshCmdOptDef opts_event[] = { VIRSH_COMMON_OPT_DOMAIN_OT_STRING(N_("filter by domain name, id or uuid"), - 0), + 0, 0), {.name = "event", .type = VSH_OT_STRING, .completer = virshDomainEventNameCompleter, diff --git a/tools/virsh.h b/tools/virsh.h index e164aabcee..b0a3cdbb97 100644 --- a/tools/virsh.h +++ b/tools/virsh.h @@ -110,16 +110,18 @@ .help = _helpstr \ } -# define VIRSH_COMMON_OPT_DOMAIN_OT_STRING(_helpstr, cflags) \ +# define VIRSH_COMMON_OPT_DOMAIN_OT_STRING(_helpstr, oflags, cflags) \ {.name = "domain", \ .type = VSH_OT_STRING, \ + .flags = oflags, \ .help = _helpstr, \ .completer = virshDomainNameCompleter, \ .completer_flags = cflags, \ } -# define VIRSH_COMMON_OPT_DOMAIN_OT_STRING_FULL(cflags) \ - VIRSH_COMMON_OPT_DOMAIN_OT_STRING(N_("domain name, id or uuid"), cflags) +# define VIRSH_COMMON_OPT_DOMAIN_OT_STRING_FULL(oflags, cflags) \ + VIRSH_COMMON_OPT_DOMAIN_OT_STRING(N_("domain name, id or uuid"), \ + oflags, cflags) # define VIRSH_COMMON_OPT_DOMAIN_OT_ARGV(_helpstr, cflags) \ {.name = "domain", \ -- 2.19.1