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

2014-03-10 Thread Miroslav Rezanina
Hi,
is there any issue with this patch?

Mirek
- Original Message -
 From: mreza...@redhat.com
 To: qemu-devel@nongnu.org
 Sent: Wednesday, February 5, 2014 2:44:23 PM
 Subject: [Qemu-devel] [PATCH v6] vl.c: Output error on invalid machine type
 
 From: Miroslav Rezanina mreza...@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 mreza...@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)
  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)) {
 +error_report(Unsupported machine type);
 +printf(\nUse '-M help' to list supported machines!\n);
 +} 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));
  }
 --
 1.8.5.3
 
 
 

-- 
Miroslav Rezanina
Software Engineer - Virtualization Team




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

2014-03-10 Thread Markus Armbruster
mreza...@redhat.com writes:

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



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

2014-03-10 Thread Andreas Färber
Hi,

Am 10.03.2014 09:35, schrieb Miroslav Rezanina:
 Hi,
 is there any issue with this patch?

It conflicts with Marcel's machine rework that I have queued.

I wonder if we can avoid the reindent to minimize the collision by
adding an exit(EXIT_FAILURE) in the new if?

Regards,
Andreas

 Mirek
 - Original Message -
 From: mreza...@redhat.com
 To: qemu-devel@nongnu.org
 Sent: Wednesday, February 5, 2014 2:44:23 PM
 Subject: [Qemu-devel] [PATCH v6] vl.c: Output error on invalid machine type

 From: Miroslav Rezanina mreza...@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 mreza...@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)
  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)) {
 +error_report(Unsupported machine type);
 +printf(\nUse '-M help' to list supported machines!\n);
 +} 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));
  }
 --
 1.8.5.3

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg