qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v6] vl.c: Output error on invalid machine type


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH v6] vl.c: Output error on invalid machine type
Date: Mon, 10 Mar 2014 10:41:23 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux)

address@hidden writes:

> From: Miroslav Rezanina <address@hidden>
>
> 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 <address@hidden>
> ---
> 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));
>  }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]