On Fri, Apr 03, 2020 at 02:32:56PM -0500, Eric Blake wrote:
That version depends on libexpat.so but does not ship it,
I don't think this clause is actually true. While some libraries in
the VDDK libdir do link to libexpat.so.0, and it's also true that it's
not shipped in VDDK, and the minimum version of expat is libexpat.so.1
since RHEL 7, nevertheless I tried VDDK 5.1.1 on RHEL 8 just now and
it actually runs fine. Perhaps it doesn't load those libraries that
need libexpat.so.0 or it only needs them in particular scenarios?
and it
appears that VMware no longer supports it. Since VDDK 5.5.5 (the next
oldest version) dropped support for 32-bit platforms, we can slightly
simplify our code by documenting our minimum supported version.
These clauses are all true.
I think with my upstream hat on it's about time that we dropped
support for this version. The last update to it was in 2014.
Therefore:
ACK
Rich.
Signed-off-by: Eric Blake <eblake(a)redhat.com>
---
v2: scrub for more places to clean up, based on Rich's review of v1
plugins/vddk/nbdkit-vddk-plugin.pod | 5 ++---
configure.ac | 7 ++++---
plugins/vddk/vddk-stubs.h | 2 +-
plugins/vddk/vddk.c | 10 +++++-----
4 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/plugins/vddk/nbdkit-vddk-plugin.pod b/plugins/vddk/nbdkit-vddk-plugin.pod
index 289322dd..d659b2e9 100644
--- a/plugins/vddk/nbdkit-vddk-plugin.pod
+++ b/plugins/vddk/nbdkit-vddk-plugin.pod
@@ -152,8 +152,6 @@ compile time is used, see L</DUMP-PLUGIN OUTPUT> below.
Port used to establish an NFC connection to ESXi. Defaults to 902.
-(Only supported in VDDK ≥ 5.5.5 and ≥ 6.0.1)
-
=item B<password=>PASSWORD
Set the password to use when connecting to the remote server.
@@ -435,7 +433,8 @@ For more information see
L<https://bugzilla.redhat.com/1614276>.
=head1 SUPPORTED VERSIONS OF VDDK
-This plugin requires VDDK E<ge> 5.1.1.
+This plugin requires VDDK E<ge> 5.5.5, which in turn means that it
+is only supported on x64-64 platforms.
It has been tested with all versions up to 6.7 (but should work with
future versions).
diff --git a/configure.ac b/configure.ac
index 9ca3bdad..ad95a7e1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -950,10 +950,11 @@ AC_ARG_ENABLE([vddk],
[disable VMware VDDK plugin])],
[],
[
- dnl VDDK is only available on i686 up to 5.1.1, and only x86-64
- dnl after that. Don't compile on other platforms.
+ dnl While VDDK was available on i686 in 5.1.1, we only support 5.5.5
+ dnl and newer, which is supported only on x86-64. Don't compile on
+ dnl other platforms.
AC_MSG_CHECKING([if the host CPU is compatible with VDDK])
- AS_IF([test "$host_cpu" = "x86_64" || test
"$host_cpu" = "i686"],[
+ AS_IF([test "$host_cpu" = "x86_64"],[
AC_MSG_RESULT([yes ($host_cpu)])
enable_vddk=yes
],[
diff --git a/plugins/vddk/vddk-stubs.h b/plugins/vddk/vddk-stubs.h
index b9dd17fb..86cb2512 100644
--- a/plugins/vddk/vddk-stubs.h
+++ b/plugins/vddk/vddk-stubs.h
@@ -40,7 +40,7 @@
*/
/* Required stubs, present in all versions of VDDK that we support. I
- * have checked that all these exist in at least VDDK 5.1.1 (2011)
+ * have checked that all these exist in at least VDDK 5.5.5 (2015)
* which is the earliest version of VDDK that we support.
*/
diff --git a/plugins/vddk/vddk.c b/plugins/vddk/vddk.c
index e2c0bf7d..87c0d146 100644
--- a/plugins/vddk/vddk.c
+++ b/plugins/vddk/vddk.c
@@ -70,7 +70,7 @@ int vddk_debug_datapath = 1;
/* Parameters passed to InitEx. */
#define VDDK_MAJOR 5
-#define VDDK_MINOR 1
+#define VDDK_MINOR 5
static void *dl; /* dlopen handle */
static bool init_called; /* was InitEx called */
@@ -363,14 +363,14 @@ load_library (void)
static const char *sonames[] = {
/* Prefer the newest library in case multiple exist. Check two
* possible directories: the usual VDDK installation puts .so
- * files in an arch-specific subdirectory of $libdir (although
- * only VDDK 5 supported 32-bit); but our testsuite is easier
- * to write if we point libdir directly to a stub .so.
+ * files in an arch-specific subdirectory of $libdir (our minimum
+ * supported version is VDDK 5.5.5, which only supports x64-64);
+ * but our testsuite is easier to write if we point libdir
+ * directly to a stub .so.
*/
"lib64/libvixDiskLib.so.6",
"libvixDiskLib.so.6",
"lib64/libvixDiskLib.so.5",
- "lib32/libvixDiskLib.so.5",
"libvixDiskLib.so.5",
};
size_t i;
--
2.26.0.rc2
_______________________________________________
Libguestfs mailing list
Libguestfs(a)redhat.com
https://www.redhat.com/mailman/listinfo/libguestfs
--
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/