All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: mrezanin@redhat.com
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v6] vl.c: Output error on invalid machine type
Date: Mon, 10 Mar 2014 10:41:23 +0100	[thread overview]
Message-ID: <87iorme6gs.fsf@blackfin.pond.sub.org> (raw)
In-Reply-To: <90998dac0113b5e791189eb3240d60c13446c709.1391607703.git.mrezanin@redhat.com> (mrezanin@redhat.com's message of "Wed, 5 Feb 2014 14:44:23 +0100")

mrezanin@redhat.com writes:

> From: Miroslav Rezanina <mrezanin@redhat.com>
>
> Output error message using qemu's error_report() function when user
> provides the invalid machine type on the command line. This also saves
> time to find what issue is when you downgrade from one version of qemu
> to another that doesn't support required machine type yet (the version
> user downgraded to have to have this patch applied too, of course).
>
> Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
> ---
> v6:
>  - print help instead of list supported machines on error
>  vl.c | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index 383be1b..3297c0a 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2600,13 +2600,19 @@ static QEMUMachine *machine_parse(const char *name)
   static QEMUMachine *machine_parse(const char *name)
   {
       QEMUMachine *m, *machine = NULL;

       if (name) {
           machine = find_machine(name);
       }
>      if (machine) {
>          return machine;
>      }
> -    printf("Supported machines are:\n");
> -    for (m = first_machine; m != NULL; m = m->next) {
> -        if (m->alias) {
> -            printf("%-20s %s (alias of %s)\n", m->alias, m->desc, m->name);
> +
> +    if (name && !is_help_option(name)) {

I don't think !name can happen, but you're sticking to what the existing
code does.  Okay.

> +        error_report("Unsupported machine type");
> +        printf("\nUse '-M help' to list supported machines!\n");

I like this.  It gives a concise error message followed by a hint,
instead of dumping lengthy help on me without a clear indication why I
need it.

-M TYPE is sugar for -machine type=TYPE.  It was deprecated in commit
80f52a6, and purged from documentation and help texts, except for two
occurences in qemu-doc.texi.

Unless we un-deprecate -M, this patch should point to the documented
option -machine type=help, and we should update qemu-doc.texi to use
-machine instead of -M.

> +    } else {
> +        printf("Supported machines are:\n");
> +        for (m = first_machine; m != NULL; m = m->next) {
> +            if (m->alias) {
> +                printf("%-20s %s (alias of %s)\n", m->alias, m->desc, m->name);
> +            }
> +            printf("%-20s %s%s\n", m->name, m->desc,
> +                   m->is_default ? " (default)" : "");
>          }
> -        printf("%-20s %s%s\n", m->name, m->desc,
> -               m->is_default ? " (default)" : "");
>      }
>      exit(!name || !is_help_option(name));
>  }

      parent reply	other threads:[~2014-03-10  9:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-05 13:44 [Qemu-devel] [PATCH v6] vl.c: Output error on invalid machine type mrezanin
2014-03-10  8:35 ` Miroslav Rezanina
2014-03-10 18:21   ` Andreas Färber
2014-03-10  9:41 ` Markus Armbruster [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87iorme6gs.fsf@blackfin.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=mrezanin@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.