On Thu, Aug 2, 2018 at 8:18 PM Eric Blake <eblake@redhat.com> wrote:
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.

Thanks, I'll add this to the todo list.

My goal is to support qemu-nbd and qemu for incremental backup and virt-v2v.
Supporting other servers is nice to have at this point.

Nir