On 17 May 2016, at 17:50, Eric Blake <eblake@...696...> wrote: > > Option 1: I think what I would prefer is a doc patch to the NBD protocol > that explicitly states that returning 0 names followed by NBD_REP_ACK > (current nbdkit behavior) implies that the server doesn't honor names at > all, and will let ANY name work for NBD_OPT_EXPORT_NAME/NBD_OPT_GO; then > patch qemu client to treat 0 names the same as NBD_REP_UNSUP (the server > doesn't honor names, so assume any name will work). ... > But to date, I think ALL of the options (except NBD_OPT_EXPORT_NAME) > _are_ optional. In fact, I'm arguing that per Option 2, we WANT > NBD_OPT_LIST to be optional for servers that don't care about names. Option 3: (which I would prefer) fix the wording indicating what options are mandatory (I think they all should be but that's another discussion really), and in the meantime simply have nbdkit return the empty string as an export name in NBD_OPT_LIST as you originally suggested, which is what qemu will connect to by default, and which is what other clients connect to by default. I don't want to be an arse about this, but I think the standard is meant to be be normative, IE influence behaviour, rather than just document existing behaviour. In this instance I think nbdkit is actually wrong (returning zero entries cannot be right as that explicitly says nothing is exported, whereas an error is forgiveable perhaps), and the author is OK to fix it, so I think we should fix the software to confirm to the standard, not the standard to conform to the software. -- Alex Bligh
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail