Re: [PATCH 2/2] nbd: add support for nbd as root device

From: Eric Blake
Date: Thu Jun 13 2019 - 11:23:35 EST


On 6/12/19 11:31 AM, roman.stratiienko@xxxxxxxxxxxxxxx wrote:
> From: Roman Stratiienko <roman.stratiienko@xxxxxxxxxxxxxxx>
>
> Adding support to nbd to use it as a root device. This code essentially
> provides a minimal nbd-client implementation within the kernel. It opens
> a socket and makes the negotiation with the server. Afterwards it passes
> the socket to the normal nbd-code to handle the connection.
>
> The arguments for the server are passed via kernel command line.
> The kernel command line has the format
> 'nbdroot=[<SERVER_IP>:]<SERVER_PORT>/<EXPORT_NAME>'.

Did you intend for nbdroot=1234 to connect to port 1234 or to server
1234 port 10809? Is an export name mandatory even when it is the empty
string, in which case, is the / character mandatory? Maybe this would
be better written as:

[<SERVER_IP>[:<SERVER_PORT]][/<EXPORT_NAME]

although that would allow nbdroot= using all defaults (will that still
do the right thing?).

Should we support nbdroot=URI, and tie this in to Rich's proposal [1] on
standardizing the set of URIs that refer to an NBD export? It seems
like you are still limited to a TCP socket (not Unix) with no
encryption, so this would be equivalent to the URI:

nbd://[server[:port]][/export]

[1] https://lists.debian.org/nbd/2019/06/msg00011.html

--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature