[Libguestfs] [nbdkit PATCH] vddk: Make 'file=' a magic key

Richard W.M. Jones rjones at redhat.com
Mon Feb 17 12:45:58 UTC 2020


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 at 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.

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/




More information about the Libguestfs mailing list