On Mon, Feb 17, 2020 at 12:45:58PM +0000, Richard W.M. Jones wrote:
On Thu, Feb 13, 2020 at 04:49:59PM -0600, Eric Blake wrote:
> Since it is required, it might as well be magic ;)
>
> Signed-off-by: Eric Blake <eblake(a)redhat.com>
> ---
>
> As written, applies on top of my v3 patch for dlopen; but it would
> be easy enough to rebase and take this one now even if we aren't
> sure about the dlopen stuff
>
> plugins/vddk/nbdkit-vddk-plugin.pod | 5 ++++-
> plugins/vddk/vddk.c | 3 ++-
> tests/test-vddk.sh | 3 +--
> 3 files changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/plugins/vddk/nbdkit-vddk-plugin.pod
b/plugins/vddk/nbdkit-vddk-plugin.pod
> index f0748def..11d12c3f 100644
> --- a/plugins/vddk/nbdkit-vddk-plugin.pod
> +++ b/plugins/vddk/nbdkit-vddk-plugin.pod
> @@ -4,7 +4,7 @@ nbdkit-vddk-plugin - nbdkit VMware VDDK plugin
>
> =head1 SYNOPSIS
>
> - nbdkit vddk file=FILENAME
> + nbdkit vddk [file=]FILENAME
> [config=FILENAME] [cookie=COOKIE] [libdir=LIBRARY]
> [nfchostport=PORT] [single-link=true]
> [password=PASSWORD | password=- | password=+FILENAME
> @@ -135,6 +135,9 @@ If a VM has multiple disks, nbdkit can only serve one at a time.
To
> serve more than one you must run multiple copies of nbdkit. (See
> L</NOTES> below).
>
> +C<file=> is a magic config key and may be omitted in most cases.
> +See L<nbdkit(1)/Magic parameters>.
> +
> =item B<libdir=>PATHNAME
>
> This sets the path of the VMware VDDK distribution.
> diff --git a/plugins/vddk/vddk.c b/plugins/vddk/vddk.c
> index 6deb0a0b..344b4e6b 100644
> --- a/plugins/vddk/vddk.c
> +++ b/plugins/vddk/vddk.c
> @@ -416,7 +416,7 @@ vddk_config_complete (void)
> }
>
> #define vddk_config_help \
> - "file=<FILENAME> (required) The filename (eg. VMDK file) to
serve.\n" \
> + "[file=]<FILENAME> (required) The filename (eg. VMDK file) to
serve.\n" \
> "Many optional parameters are supported, see nbdkit-vddk-plugin(3)."
>
> static void
> @@ -901,6 +901,7 @@ static struct nbdkit_plugin plugin = {
> .config = vddk_config,
> .config_complete = vddk_config_complete,
> .config_help = vddk_config_help,
> + .magic_config_key = "file",
> .dump_plugin = vddk_dump_plugin,
> .open = vddk_open,
> .close = vddk_close,
> diff --git a/tests/test-vddk.sh b/tests/test-vddk.sh
> index d99ebf88..6933f716 100755
> --- a/tests/test-vddk.sh
> +++ b/tests/test-vddk.sh
> @@ -48,8 +48,7 @@ grep ^vddk_default_libdir= test-vddk.out
> # a load that we know will fail, but the important part is that dlopen's
> # error message lists an absolute file even though we passed a relative
> # name, showing that our shim did adjust it.
> -nbdkit vddk libdir=.libs \
> - file=/dev/null --run ':' 2> test-vddk.err || :
> +nbdkit vddk libdir=.libs /dev/null --run ':' 2> test-vddk.err || :
> cat test-vddk.err
>
> grep '/.libs/nosuch' test-vddk.err
Yup, this is fine, ACK.
Actually it doesn't apply - maybe depends on something else?
Anyway the change itself is still fine.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/