Re: [Nbd] NBD_OPT_GO
On 5 Apr 2016, at 18:10, Wouter Verhelst <w@...112...> wrote:
>
> Mm. We could also drop NBD_OPT_SELECT completely.
>
> The reason I added SELECT/GO was because EXPORT_NAME has no way for the
> server to report error (other than to close the connection). The spec
> for GO explicitly states that the server must reply with REP_ACK before
> we move on to the transmission phase, so it does not have that problem.
>
> In that light, SELECT is somewhat superfluous. That is, it could be
> useful to have a SELECT-like option (so a client can query information
> from the server without communicating intent to move on to the
> transmission phase),
I don't think so. NBD_OPT_SELECT is (I believe) the only way to get
export flags without actually starting a transmission. I think that's
*necessary* to negotiate TLS when required (for instance).
> but it might be best to rename NBD_OPT_SELECT to
> NBD_OPT_INFO and drop its side effects. Then, a client who wishes to
> move on to transmission without using the broken EXPORT_NAME can select
> NBD_OPT_GO with (or without) a name, and *if* the server sends ACK,
> we're in transmission.
To be honest I'd prefer that. Keeping state is horrible, and
also pretty pointless if the only bit of state is the option
name, which you can provide again.
--
Alex Bligh
Reply to: