qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Cody <jcody@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: kwolf@redhat.com, famz@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 01/20] nbd: produce a better error if neither host nor port is passed
Date: Fri, 14 Feb 2014 15:41:51 -0500	[thread overview]
Message-ID: <20140214204151.GE17514@localhost.localdomain> (raw)
In-Reply-To: <20140214165434.GC17514@localhost.localdomain>

On Fri, Feb 14, 2014 at 11:54:34AM -0500, Jeff Cody wrote:
> On Tue, Feb 11, 2014 at 06:03:34PM +0100, Paolo Bonzini wrote:
> > Before:
> >     $ qemu-io-old
> >     qemu-io-old> open -r -o file.driver=nbd
> >     qemu-io-old: can't open device (null): Could not open image: Invalid argument
> >     $ ./qemu-io-old
> >     qemu-io-old> open -r -o file.driver=nbd,file.host=foo,file.path=bar
> >     path and host may not be used at the same time.
> >     qemu-io-old: can't open device (null): Could not open image: Invalid argument
> > 
> > After:
> >     $ ./qemu-io
> >     qemu-io> open -r -o file.driver=nbd
> >     one of path and host must be specified.
> >     qemu-io: can't open device (null): Could not open image: Invalid argument
> >     $ ./qemu-io
> >     qemu-io> open -r -o file.driver=nbd,file.host=foo,file.path=bar
> >     path and host may not be used at the same time.
> >     qemu-io: can't open device (null): Could not open image: Invalid argument
> >
> 
> This breaks test 051, which is parsing the error output.  Could you
> also update 051.out in this patch?  This should fix it:
> 
> 
> diff --git tests/qemu-iotests/051.out tests/qemu-iotests/051.out
> index 30e2dbd..7de1870 100644
> --- tests/qemu-iotests/051.out
> +++ tests/qemu-iotests/051.out
> @@ -231,7 +231,7 @@ Testing: -drive driver=file
>  QEMU_PROG: -drive driver=file: could not open disk image ide0-hd0: The 'file' block driver requires a file name
>  
>  Testing: -drive driver=nbd
> -QEMU_PROG: -drive driver=nbd: could not open disk image ide0-hd0: Could not open image: Invalid argument
> +QEMU_PROG: -drive driver=nbd: could not open disk image ide0-hd0: one of path and host must be specified.
>  
>  Testing: -drive driver=raw
>  QEMU_PROG: -drive driver=raw: could not open disk image ide0-hd0: Can't use 'raw' as a block driver for the protocol level
> @@ -240,7 +240,7 @@ Testing: -drive file.driver=file
>  QEMU_PROG: -drive file.driver=file: could not open disk image ide0-hd0: The 'file' block driver requires a file name
>  
>  Testing: -drive file.driver=nbd
> -QEMU_PROG: -drive file.driver=nbd: could not open disk image ide0-hd0: Could not open image: Invalid argument
> +QEMU_PROG: -drive file.driver=nbd: could not open disk image ide0-hd0: one of path and host must be specified.
>  
>  Testing: -drive file.driver=raw
>  QEMU_PROG: -drive file.driver=raw: could not open disk image ide0-hd0: Can't use 'raw' as a block driver for the protocol level
>

Sorry Paolo, the above would be if patches 1 and 2 were squashed together. 

This would be the diff for 051.out for just this patch:

diff --git a/tests/qemu-iotests/051.out b/tests/qemu-iotests/051.out
index 30e2dbd..3e8d962 100644
--- a/tests/qemu-iotests/051.out
+++ b/tests/qemu-iotests/051.out
@@ -231,6 +231,7 @@ Testing: -drive driver=file
 QEMU_PROG: -drive driver=file: could not open disk image ide0-hd0: The 'file' block driver requires a file name
 
 Testing: -drive driver=nbd
+QEMU_PROG: -drive driver=nbd: one of path and host must be specified.
 QEMU_PROG: -drive driver=nbd: could not open disk image ide0-hd0: Could not open image: Invalid argument
 
 Testing: -drive driver=raw
@@ -240,6 +241,7 @@ Testing: -drive file.driver=file
 QEMU_PROG: -drive file.driver=file: could not open disk image ide0-hd0: The 'file' block driver requires a file name
 
 Testing: -drive file.driver=nbd
+QEMU_PROG: -drive file.driver=nbd: one of path and host must be specified.
 QEMU_PROG: -drive file.driver=nbd: could not open disk image ide0-hd0: Could not open image: Invalid argument
 
 Testing: -drive file.driver=raw


> 
> > Next patch will fix the error propagation.
> > 
> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> > ---
> >  block/nbd.c | 13 ++++++-------
> >  1 file changed, 6 insertions(+), 7 deletions(-)
> > 
> > diff --git a/block/nbd.c b/block/nbd.c
> > index 327e913..fd89083 100644
> > --- a/block/nbd.c
> > +++ b/block/nbd.c
> > @@ -192,19 +192,18 @@ static int nbd_config(BDRVNBDState *s, QDict *options, char **export)
> >  {
> >      Error *local_err = NULL;
> >  
> > -    if (qdict_haskey(options, "path")) {
> > -        if (qdict_haskey(options, "host")) {
> > +    if (qdict_haskey(options, "path") == qdict_haskey(options, "host")) {
> > +        if (qdict_haskey(options, "path")) {
> >              qerror_report(ERROR_CLASS_GENERIC_ERROR, "path and host may not "
> >                            "be used at the same time.");
> > -            return -EINVAL;
> > +        } else {
> > +            qerror_report(ERROR_CLASS_GENERIC_ERROR, "one of path and host "
> > +                          "must be specified.");
> >          }
> > -        s->client.is_unix = true;
> > -    } else if (qdict_haskey(options, "host")) {
> > -        s->client.is_unix = false;
> > -    } else {
> >          return -EINVAL;
> >      }
> >  
> > +    s->client.is_unix = qdict_haskey(options, "path");
> >      s->socket_opts = qemu_opts_create(&socket_optslist, NULL, 0,
> >                                        &error_abort);
> >  
> > -- 
> > 1.8.5.3
> > 
> > 
> > 
> 

  reply	other threads:[~2014-02-14 20:42 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-11 17:03 [Qemu-devel] [PATCH v2 00/20] Improve bdrv_open error messages Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 01/20] nbd: produce a better error if neither host nor port is passed Paolo Bonzini
2014-02-14 16:54   ` Jeff Cody
2014-02-14 20:41     ` Jeff Cody [this message]
2014-02-16 15:53     ` Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 02/20] nbd: correctly propagate errors Paolo Bonzini
2014-02-14 20:42   ` Jeff Cody
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 03/20] nbd: inline tcp_socket_incoming_spec into sole caller Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 04/20] nbd: move socket wrappers to qemu-nbd Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 05/20] iscsi: fix indentation Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 06/20] iscsi: correctly propagate errors in iscsi_open Paolo Bonzini
2014-02-14 16:20   ` Stefan Hajnoczi
2014-02-14 16:47     ` [Qemu-devel] [PATCH v3 " Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 07/20] gluster: default scheme to gluster:// and host to localhost Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 08/20] gluster: correctly propagate errors Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 09/20] cow: " Paolo Bonzini
2014-02-14 16:45   ` Kevin Wolf
2014-02-14 16:59     ` Jeff Cody
2014-02-15 10:01       ` Markus Armbruster
2014-02-17 13:15         ` Fam Zheng
2014-02-17 13:20           ` Paolo Bonzini
2014-02-17 13:23             ` Jeff Cody
2014-02-18  2:51             ` Fam Zheng
2014-02-17 13:45           ` Kevin Wolf
2014-02-17 14:59           ` Markus Armbruster
2014-02-18  3:16             ` Fam Zheng
2014-02-14 17:02     ` Paolo Bonzini
2014-02-14 18:19       ` Kevin Wolf
2014-02-14 20:22         ` Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 10/20] curl: " Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 11/20] qcow: " Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 12/20] qed: " Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 13/20] vhdx: " Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 14/20] vvfat: " Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 15/20] vmdk: extract vmdk_read_desc Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 16/20] vmdk: push vmdk_read_desc up to caller Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 17/20] vmdk: do not try opening a file as both image and descriptor Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 18/20] vmdk: correctly propagate errors Paolo Bonzini
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 19/20] block: do not abuse EMEDIUMTYPE Paolo Bonzini
2014-02-18  6:27   ` Fam Zheng
2014-02-11 17:03 ` [Qemu-devel] [PATCH v2 20/20] vdi: say why an image is bad Paolo Bonzini
2014-02-14 16:31 ` [Qemu-devel] [PATCH v2 00/20] Improve bdrv_open error messages Stefan Hajnoczi
2014-02-14 16:48   ` Paolo Bonzini

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=20140214204151.GE17514@localhost.localdomain \
    --to=jcody@redhat.com \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=pbonzini@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).