Am 07.07.2017 um 22:30 hat Eric Blake geschrieben:
> NBD_OPT_EXPORT_NAME is lousy: per the NBD protocol, any failure
> requires the server to close the connection rather than report an
> error to us.  Therefore, upstream NBD recently added NBD_OPT_GO as
> the improved version of the option that does what we want [1]: it
> reports sane errors on failures, and on success provides at least
> as much info as NBD_OPT_EXPORT_NAME.
> 
> [1] https://github.com/NetworkBlockDevice/nbd/blob/extension-info/doc/proto.md
> 
> This is a first cut at use of the information types.  Note that we
> do not need to use NBD_OPT_INFO, and that use of NBD_OPT_GO means
> we no longer have to use NBD_OPT_LIST to learn whether a server
> requires TLS (this requires servers that gracefully handle unknown
> NBD_OPT, many servers prior to qemu 2.5 were buggy, but I have patched
> qemu, upstream nbd, and nbdkit in the meantime, in part because of
> interoperability testing with this patch).  We still fall back to
> NBD_OPT_LIST when NBD_OPT_GO is not supported on the server, as it
> is still one last chance for a nicer error message.  Later patches
> will use further info, like NBD_INFO_BLOCK_SIZE.
> 
> Signed-off-by: Eric Blake <ebl...@redhat.com>

This breaks qemu-iotests 140 and 143:

-can't open device nbd+unix:///drv?socket=TEST_DIR/nbd: No export with name 
'drv' available
+can't open device nbd+unix:///drv?socket=TEST_DIR/nbd: Requested export not 
available for option 7 (go)
+export 'drv' not present

We could just update the reference output, but I actually believe the
old error message was better.

Kevin

Reply via email to