[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v5 7/9] nbd: Implement NBD_OPT_GO on client
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-block] [PATCH v5 7/9] nbd: Implement NBD_OPT_GO on client |
Date: |
Mon, 17 Jul 2017 10:31:10 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
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 <address@hidden>
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
- Re: [Qemu-block] [PATCH v5 2/9] nbd: Don't bother tracing an NBD_OPT_ABORT response failure, (continued)
- [Qemu-block] [PATCH v5 4/9] nbd: Simplify trace of client flags in negotiation, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 3/9] nbd: Expose and debug more NBD constants, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 5/9] nbd: Refactor reply to NBD_OPT_EXPORT_NAME, Eric Blake, 2017/07/07
- [Qemu-block] [PATCH v5 7/9] nbd: Implement NBD_OPT_GO on client, Eric Blake, 2017/07/07
- Re: [Qemu-block] [PATCH v5 7/9] nbd: Implement NBD_OPT_GO on client,
Kevin Wolf <=
- Re: [Qemu-block] [PATCH v5 7/9] nbd: Implement NBD_OPT_GO on client, Vladimir Sementsov-Ogievskiy, 2017/07/19
[Qemu-block] [PATCH v5 6/9] nbd: Implement NBD_OPT_GO on server, Eric Blake, 2017/07/07
[Qemu-block] [PATCH v5 8/9] nbd: Implement NBD_INFO_BLOCK_SIZE on server, Eric Blake, 2017/07/07
[Qemu-block] [PATCH v5 9/9] nbd: Implement NBD_INFO_BLOCK_SIZE on client, Eric Blake, 2017/07/07
Re: [Qemu-block] [PATCH v5 0/9] Implement NBD_OPT_GO, block size advertisement, Paolo Bonzini, 2017/07/13