[Libguestfs] [PATCH] v2v: Use cacheextents if possible for vddk input

Richard W.M. Jones rjones at redhat.com
Fri Sep 20 09:08:46 UTC 2019


On Fri, Sep 20, 2019 at 10:56:51AM +0200, Martin Kletzander wrote:
> It does not need configuring and speeds up the process of requesting extents if
> the client asks for them one by one (like qemu-img).
> 
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
>  v2v/input_libvirt_vddk.ml | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/v2v/input_libvirt_vddk.ml b/v2v/input_libvirt_vddk.ml
> index a8e4fd5ac78e..cc63f77ce825 100644
> --- a/v2v/input_libvirt_vddk.ml
> +++ b/v2v/input_libvirt_vddk.ml
> @@ -284,6 +284,9 @@ object (self)
>          add_arg "--selinux-label"; add_arg "system_u:object_r:svirt_socket_t:s0"
>        );
>  
> +      if shell_command "nbdkit --filter cacheextents memory 1M --run true 2>/dev/null" = 0
> +      then add_arg "--filter=cacheextents";
> +
>        (* Name of the plugin.  Everything following is a plugin parameter. *)
>        add_arg "vddk";

This brings up back to the long-delayed nbdkit series:

  https://www.redhat.com/archives/libguestfs/2019-July/msg00200.html

In this series I've got a generic Nbdkit module which has a common
function for creating nbdkit instances.  It uses this to detect if a
filter is available:

  if Sys.file_exists (filterdir // "nbdkit-readahead-filter.so") then (
    add_arg "--filter"; add_arg "readahead"
  );

While this is incidental to the current patch, I would really
appreciate someone to review the above series.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org




More information about the Libguestfs mailing list