I'm a lot happier with this version: no mucking with dlmopen(). It
does add a bit more coupling between nbdkit proper and the vddk plugin
(namely, nbdkit now exports a new function that the vddk plugin relies
on), but patch 2 adds testsuite coverage of the new function so we
shouldn't regress.
Patch 1 and 2 are new, patch 3 is unchanged from when Rich posted it
in v2, and patch 4 is simplified somewhat from what I did in v3 (in
particular, I separated the testing of our dlopen shim into a separate
test in patch 2, rather than cramming into test-vddk.sh).
As before, I don't have the actual proprietary VDDK library installed,
so I'm still waiting on Rich's verdict that test-vddk-real.sh passes.
Eric Blake (2):
server: Export nbdkit_set_dlopen_prefix function
tests: Add coverage of new nbdkit_set_dlopen_prefix
Richard W.M. Jones (2):
vddk: Delay loading VDDK until config_complete.
vddk: Drive library loading from libdir parameter.
docs/nbdkit-plugin.pod | 14 +++
include/nbdkit-common.h | 2 +
plugins/vddk/nbdkit-vddk-plugin.pod | 39 ++++++--
plugins/vddk/vddk.c | 136 ++++++++++++++++++----------
server/Makefile.am | 13 +++
server/nbdkit.syms | 1 +
server/shim.c | 99 ++++++++++++++++++++
tests/Makefile.am | 25 +++++
tests/test-dlopen-plugin.c | 107 ++++++++++++++++++++++
tests/test-dlopen.sh | 52 +++++++++++
tests/test-nbdkit-backend-debug.sh | 26 +++---
tests/test-vddk-real.sh | 12 +--
tests/test-vddk.sh | 6 +-
13 files changed, 446 insertions(+), 86 deletions(-)
create mode 100644 server/shim.c
create mode 100644 tests/test-dlopen-plugin.c
create mode 100755 tests/test-dlopen.sh
--
2.24.1