Martin Kletzander
2019-Sep-20 08:56 UTC
[Libguestfs] [PATCH] v2v: Use cacheextents if possible for vddk input
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@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"; -- 2.23.0
Richard W.M. Jones
2019-Sep-20 09:08 UTC
Re: [Libguestfs] [PATCH] v2v: Use cacheextents if possible for vddk input
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@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