On 08/02/2018 11:51 AM, Nir Soffer wrote:
When trying to connect to nbdkit with imageio nbd client, I get this error:
$ rm -f /tmp/nbd.sock && nbdkit file file=/var/tmp/fedora-27.img -e export -U /tmp/nbd.sock
ovirt_imageio_common.nbd.Error: The option sent by the client is unknown by this server implementation [message=])
Correct, nbdkit has not yet implemented this extension. (It's on my list of things to add, someday...)
According to the NBD protocol:
For backwards compatibility, clients SHOULD be prepared to also handle NBD_REP_ERR_UNSUP by falling back to using NBD_OPT_EXPORT_NAME.
Should I fall back to sending NBD_OPT_EXPORT_NAME, or nbkit needs to implement NBD_OPT_GO?
Both. You need to implement the fallback to NBD_OPT_EXPORT_NAME regardless of whether nbdkit is fixed, because there are other servers that are also not fixed, and you want to interoperate with all such servers. But nbdkit should (eventually) learn how to support NBD_OPT_GO.
The client code is here: https://gerrit.ovirt.org/c/93384/
Nir
-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org