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