[Libguestfs] [nbdkit PATCH v2] vddk: Drop support for VDDK 5.1.1

Richard W.M. Jones rjones at redhat.com
Sat Apr 4 10:29:13 UTC 2020


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




More information about the Libguestfs mailing list