On 04/16/2018 06:00 AM, Daniel P. Berrangé wrote: > On Mon, Apr 16, 2018 at 11:53:41AM +0100, Richard W.M. Jones wrote: >> On Mon, Apr 16, 2018 at 11:31:18AM +0100, Daniel P. Berrangé wrote: >>> Essentially this is abusing the export name as a crude authentication >>> token. There are NBD servers that expect NBD_OPT_LIST to always succeeed >> >> I guess you mean "NBD clients" ... > > Sigh, yes, of course.
qemu 2.10 and older tries to use NBD_OPT_LIST, but gracefully still tries to connect even if the LIST fails (that is, it's use of NBD_OPT_LIST was for better error handling than what NBD_OPT_EXPORT_NAME gives, and not because it actually needed the list). The recent introduction in qemu 2.11 for support of NBD_OPT_GO means that modern qemu is no longer even attempting NBD_OPT_LIST when talking to a new server. But cross-implementation compatibility is still a concern, and there may indeed be non-qemu clients that choke if LIST fails, even though... > >>> when they detect that the new style protocol is available. I really hate >>> the idea of making it possible to break the NBD_OPT_LIST functionality >>> via a command line arg like this. ...the NBD spec suggests that a client that requires LIST to work is not fully compliant, since NBD_OPT_LIST is an optional feature. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature