Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package virt-v2v for openSUSE:Factory 
checked in at 2021-09-16 23:15:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-v2v (Old)
 and      /work/SRC/openSUSE:Factory/.virt-v2v.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virt-v2v"

Thu Sep 16 23:15:05 2021 rev:3 rq:919567 version:1.44.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-v2v/virt-v2v.changes        2021-05-06 
22:53:23.330561053 +0200
+++ /work/SRC/openSUSE:Factory/.virt-v2v.new.1899/virt-v2v.changes      
2021-09-16 23:17:55.344000218 +0200
@@ -1,0 +2,17 @@
+Thu Sep 16 11:58:59 MDT 2021 - carn...@suse.com
+
+- Fix ocaml linker error due to unresolved 'rpl_free'. For
+  comparison, see libguestfs commit 489b14b75e.
+  fix-linker-error.patch
+
+-------------------------------------------------------------------
+Fri May  7 14:34:45 MDT 2021 - carn...@suse.com
+
+- Update to version 1.44.0
+  Include virt-v2v-1.44.0.tar.gz.sig
+  * windows: Allow qxldod.inf as synonym for qxl.inf
+  * -i ova: Set LANG=C and --no-auto-compress when running tar.
+  * Increase required free space in Windows to 100 MB
+  * Tidy up error messages when mounting a virtio-win ISO
+
+-------------------------------------------------------------------

Old:
----
  virt-v2v-1.43.5.tar.gz

New:
----
  fix-linker-error.patch
  virt-v2v-1.44.0.tar.gz
  virt-v2v-1.44.0.tar.gz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ virt-v2v.spec ++++++
--- /var/tmp/diff_new_pack.EdYWBH/_old  2021-09-16 23:17:55.888000780 +0200
+++ /var/tmp/diff_new_pack.EdYWBH/_new  2021-09-16 23:17:55.892000784 +0200
@@ -18,17 +18,19 @@
 
 
 # If there are patches which touch autotools files, set this to 1.
-%global patches_touch_autotools %{nil}
+%global patches_touch_autotools 1
 # The source directory.
-%global source_directory 1.43-development
+%global source_directory 1.44-stable
 Name:           virt-v2v
-Version:        1.43.5
+Version:        1.44.0
 Release:        0
 Summary:        Tools to convert a virtual machine to run on KVM
 License:        GPL-2.0-or-later
 Group:          System/Management
 URL:            https://github.com/libguestfs/virt-v2v
-Source0:        
http://download.libguestfs.org/virt-v2v/%{source_directory}/%{name}-%{version}.tar.gz
+Patch0:         fix-linker-error.patch
+Source0:        
https://download.libguestfs.org/virt-v2v/%{source_directory}/%{name}-%{version}.tar.gz
+Source1:        
https://download.libguestfs.org/virt-v2v/%{source_directory}/%{name}-%{version}.tar.gz.sig
 BuildRequires:  augeas-devel
 BuildRequires:  file-devel
 #BuildRequires: /usr/bin/pod2man

++++++ fix-linker-error.patch ++++++
Resolves the following error.
Similar to libguestfs commit 489b14b75e5f30010d8a8c8d3a10ecc52b629563

/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: 
/usr/lib64/ocaml/guestfs/libmlguestfs.a(libguestfsocaml_a-guestfs-c.o): in 
function `guestfs_finalize':
/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c.c:86: undefined 
reference to `rpl_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: 
/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c.c:88: undefined 
reference to `rpl_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: 
/usr/lib64/ocaml/guestfs/libmlguestfs.a(libguestfsocaml_a-guestfs-c.o): in 
function `guestfs_int_ocaml_set_event_callback':
/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c.c:239: undefined 
reference to `rpl_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: 
/usr/lib64/ocaml/guestfs/libmlguestfs.a(libguestfsocaml_a-guestfs-c.o): in 
function `guestfs_int_ocaml_delete_event_callback':
/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c.c:266: undefined 
reference to `rpl_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: 
/usr/lib64/ocaml/guestfs/libmlguestfs.a(libguestfsocaml_a-guestfs-c.o): in 
function `guestfs_int_ocaml_event_to_string':
/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c.c:290: undefined 
reference to `rpl_free'
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: 
/usr/lib64/ocaml/guestfs/libmlguestfs.a(libguestfsocaml_a-guestfs-c-actions.o):/home/abuild/rpmbuild/BUILD/libguestfs-1.44.2/ocaml/guestfs-c-actions.c:1188:
 more undefined references to `rpl_free' follow
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking


Index: virt-v2v-1.44.0/gnulib/lib/free.c
===================================================================
--- /dev/null
+++ virt-v2v-1.44.0/gnulib/lib/free.c
@@ -0,0 +1,53 @@
+/* Make free() preserve errno.
+
+   Copyright (C) 2003, 2006, 2009-2021 Free Software Foundation, Inc.
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   This file is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public License
+   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
+
+/* written by Paul Eggert */
+
+#include <config.h>
+
+/* Specification.  */
+#include <stdlib.h>
+
+/* A function definition is only needed if HAVE_FREE_POSIX is not defined.  */
+#if !HAVE_FREE_POSIX
+
+# include <errno.h>
+
+void
+rpl_free (void *p)
+# undef free
+{
+# if defined __GNUC__ && !defined __clang__
+  /* An invalid GCC optimization
+     <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98396>
+     would optimize away the assignments in the code below, when link-time
+     optimization (LTO) is enabled.  Make the code more complicated, so that
+     GCC does not grok how to optimize it.  */
+  int err[2];
+  err[0] = errno;
+  err[1] = errno;
+  errno = 0;
+  free (p);
+  errno = err[errno == 0];
+# else
+  int err = errno;
+  free (p);
+  errno = err;
+# endif
+}
+
+#endif
Index: virt-v2v-1.44.0/gnulib/lib/Makefile.am
===================================================================
--- virt-v2v-1.44.0.orig/gnulib/lib/Makefile.am
+++ virt-v2v-1.44.0/gnulib/lib/Makefile.am
@@ -35,7 +35,8 @@ libgnu_la_SOURCES = \
        xstrtoll.c \
        xstrtoul.c \
        xstrtoull.c \
-       xstrtoumax.c
+       xstrtoumax.c \
+       free.c
 libutils_la_CFLAGS = \
        $(WARN_CFLAGS) $(WERROR_CFLAGS) \
        $(GCC_VISIBILITY_HIDDEN)
++++++ virt-v2v-1.43.5.tar.gz -> virt-v2v-1.44.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/bash/Makefile.in 
new/virt-v2v-1.44.0/bash/Makefile.in
--- old/virt-v2v-1.43.5/bash/Makefile.in        2021-04-14 13:30:44.940946002 
+0200
+++ new/virt-v2v-1.44.0/bash/Makefile.in        2021-04-30 16:44:59.540798479 
+0200
@@ -959,8 +959,8 @@
 maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
-@HAVE_BASH_COMPLETION_FALSE@clean-local:
 @HAVE_BASH_COMPLETION_FALSE@install-data-local:
+@HAVE_BASH_COMPLETION_FALSE@clean-local:
 clean: clean-am
 
 clean-am: clean-generic clean-libtool clean-local mostlyclean-am
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/configure 
new/virt-v2v-1.44.0/configure
--- old/virt-v2v-1.43.5/configure       2021-04-14 13:30:45.928938856 +0200
+++ new/virt-v2v-1.44.0/configure       2021-04-30 16:45:00.612788860 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for virt-v2v 1.43.5.
+# Generated by GNU Autoconf 2.71 for virt-v2v 1.44.0.
 #
 #
 # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -618,8 +618,8 @@
 # Identity of this package.
 PACKAGE_NAME='virt-v2v'
 PACKAGE_TARNAME='virt-v2v'
-PACKAGE_VERSION='1.43.5'
-PACKAGE_STRING='virt-v2v 1.43.5'
+PACKAGE_VERSION='1.44.0'
+PACKAGE_STRING='virt-v2v 1.44.0'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1476,7 +1476,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures virt-v2v 1.43.5 to adapt to many kinds of systems.
+\`configure' configures virt-v2v 1.44.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1547,7 +1547,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of virt-v2v 1.43.5:";;
+     short | recursive ) echo "Configuration of virt-v2v 1.44.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1704,7 +1704,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-virt-v2v configure 1.43.5
+virt-v2v configure 1.44.0
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2192,7 +2192,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by virt-v2v $as_me 1.43.5, which was
+It was created by virt-v2v $as_me 1.44.0, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4767,7 +4767,7 @@
 
 # Define the identity of the package.
  PACKAGE='virt-v2v'
- VERSION='1.43.5'
+ VERSION='1.44.0'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -13123,11 +13123,11 @@
 
 
 
-BRANCH_NUMBER=1.43
+BRANCH_NUMBER=1.44
 
 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $BRANCH_NUMBER is a 
stable or development branch of virt-v2v" >&5
 printf %s "checking if $BRANCH_NUMBER is a stable or development branch of 
virt-v2v... " >&6; }
-if test "$((43 % 2))" -eq 0
+if test "$((44 % 2))" -eq 0
 then :
 
     BRANCH_TYPE=stable
@@ -13154,22 +13154,22 @@
 fi
 
 
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: virt-v2v version 
1.43.5$v2v_extra" >&5
-printf "%s\n" "$as_me: virt-v2v version 1.43.5$v2v_extra" >&6;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: virt-v2v version 
1.44.0$v2v_extra" >&5
+printf "%s\n" "$as_me: virt-v2v version 1.44.0$v2v_extra" >&6;}
 
 
 printf "%s\n" "#define PACKAGE_VERSION_MAJOR 1" >>confdefs.h
 
 
-printf "%s\n" "#define PACKAGE_VERSION_MINOR 43" >>confdefs.h
+printf "%s\n" "#define PACKAGE_VERSION_MINOR 44" >>confdefs.h
 
 
-printf "%s\n" "#define PACKAGE_VERSION_RELEASE 5" >>confdefs.h
+printf "%s\n" "#define PACKAGE_VERSION_RELEASE 0" >>confdefs.h
 
 
 printf "%s\n" "#define PACKAGE_VERSION_EXTRA \"$v2v_extra\"" >>confdefs.h
 
-PACKAGE_VERSION_FULL="1.43.5${v2v_extra}"
+PACKAGE_VERSION_FULL="1.44.0${v2v_extra}"
 
 printf "%s\n" "#define PACKAGE_VERSION_FULL \"$PACKAGE_VERSION_FULL\"" 
>>confdefs.h
 
@@ -20419,7 +20419,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by virt-v2v $as_me 1.43.5, which was
+This file was extended by virt-v2v $as_me 1.44.0, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20487,7 +20487,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-virt-v2v config.status 1.43.5
+virt-v2v config.status 1.44.0
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/configure.ac 
new/virt-v2v-1.44.0/configure.ac
--- old/virt-v2v-1.43.5/configure.ac    2021-04-14 13:30:27.665070968 +0200
+++ new/virt-v2v-1.44.0/configure.ac    2021-04-30 16:44:43.184945250 +0200
@@ -19,8 +19,8 @@
 # add extra information using --with-extra="..." which may be any
 # freeform string.
 m4_define([v2v_major],   [1])
-m4_define([v2v_minor],   [43])
-m4_define([v2v_release], [5])
+m4_define([v2v_minor],   [44])
+m4_define([v2v_release], [0])
 
 AC_INIT([virt-v2v],v2v_major.v2v_minor.v2v_release)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/docs/virt-v2v-output-openstack.pod 
new/virt-v2v-1.44.0/docs/virt-v2v-output-openstack.pod
--- old/virt-v2v-1.43.5/docs/virt-v2v-output-openstack.pod      2020-04-02 
14:21:53.277308477 +0200
+++ new/virt-v2v-1.44.0/docs/virt-v2v-output-openstack.pod      2021-04-27 
17:11:58.972432280 +0200
@@ -89,8 +89,8 @@
 variables or use output options on the virt-v2v command line to
 authenticate with OpenStack.
 
-Normally there is a file called something like C<stackrc>,
-C<overcloudrc> etc which you can simply C<source> to set everything up.
+Normally there is a file called C<overcloudrc> or C<keystonerc_admin>
+which you can simply C<source> to set everything up.
 
 For example:
 
@@ -179,8 +179,10 @@
 
 This runs the L<glance(1)> CLI program which must be installed on the
 virt-v2v conversion host.  For authentication to work, you will need
-to set C<OS_*> environment variables.  In most cases you can do this
-by sourcing a file called something like F<keystonerc_admin>.
+to set C<OS_*> environment variables.
+
+Normally there is a file called C<overcloudrc> or C<keystonerc_admin>
+which you can simply C<source> to set everything up.
 
 Virt-v2v adds metadata for the guest to Glance, describing such things
 as the guest operating system and what drivers it requires.  The
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/docs/virt-v2v.pod 
new/virt-v2v-1.44.0/docs/virt-v2v.pod
--- old/virt-v2v-1.43.5/docs/virt-v2v.pod       2021-01-19 10:36:45.740551925 
+0100
+++ new/virt-v2v-1.44.0/docs/virt-v2v.pod       2021-04-15 17:49:29.538038491 
+0200
@@ -1322,7 +1322,7 @@
 
 =over 4
 
-=item Linux root filesystem or Windows C<C:> drive
+=item Linux root filesystem
 
 Minimum free space: 20 MB
 
@@ -1333,6 +1333,12 @@
 This is because we need to build a new initramfs for some Enterprise
 Linux conversions.
 
+=item Windows C<C:> drive
+
+Minimum free space: 100 MB
+
+We may have to copy in many virtio drivers and guest agents.
+
 =item Any other mountable filesystem
 
 Minimum free space: 10 MB
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po/virt-v2v.pot 
new/virt-v2v-1.44.0/po/virt-v2v.pot
--- old/virt-v2v-1.43.5/po/virt-v2v.pot 2021-04-14 13:30:53.746882304 +0200
+++ new/virt-v2v-1.44.0/po/virt-v2v.pot 2021-04-30 16:49:16.037501391 +0200
@@ -6,10 +6,10 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: virt-v2v 1.43.5\n"
+"Project-Id-Version: virt-v2v 1.44.0\n"
 "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?";
 "component=libguestfs&product=Virtualization+Tools\n"
-"POT-Creation-Date: 2021-04-14 12:30+0100\n"
+"POT-Creation-Date: 2021-04-30 15:49+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <l...@li.org>\n"
@@ -82,7 +82,7 @@
 msgid "%s: %s: %s"
 msgstr ""
 
-#: v2v/windows_virtio.ml:381
+#: v2v/windows_virtio.ml:363
 msgid "%s: cannot open virtio-win ISO file: %s"
 msgstr ""
 
@@ -389,7 +389,7 @@
 msgid "Checking for sufficient free disk space in the guest"
 msgstr ""
 
-#: v2v/v2v.ml:653
+#: v2v/v2v.ml:657
 msgid "Checking if the guest needs BIOS or UEFI to boot"
 msgstr ""
 
@@ -405,11 +405,11 @@
 msgid "Compress output file (-of qcow2 only)"
 msgstr ""
 
-#: v2v/v2v.ml:570
+#: v2v/v2v.ml:574
 msgid "Converting %s to run on KVM"
 msgstr ""
 
-#: v2v/v2v.ml:568
+#: v2v/v2v.ml:572
 msgid "Converting the guest to run on KVM"
 msgstr ""
 
@@ -421,11 +421,11 @@
 msgid "Copy local files or directories into image"
 msgstr ""
 
-#: v2v/v2v.ml:700
+#: v2v/v2v.ml:704
 msgid "Copying disk %d/%d to %s (%s)"
 msgstr ""
 
-#: v2v/v2v.ml:703
+#: v2v/v2v.ml:707
 msgid "Copying disk %d/%d to qemu URI %s (%s)"
 msgstr ""
 
@@ -737,7 +737,7 @@
 "  -oo vdsm-vol-uuid=UUID       Disk volume UUID\n"
 msgstr ""
 
-#: v2v/v2v.ml:840
+#: v2v/v2v.ml:844
 msgid "Overlay saved as %s [--debug-overlays]"
 msgstr ""
 
@@ -784,7 +784,7 @@
 "install the guest agent manually after conversion."
 msgstr ""
 
-#: v2v/windows_virtio.ml:225
+#: v2v/windows_virtio.ml:227
 msgid "QEMU Guest Agent installed for this guest."
 msgstr ""
 
@@ -1007,11 +1007,11 @@
 "installed in the guest.  X may not function correctly."
 msgstr ""
 
-#: v2v/v2v.ml:591
+#: v2v/v2v.ml:595
 msgid "This guest does not have virtio drivers installed."
 msgstr ""
 
-#: v2v/v2v.ml:589
+#: v2v/v2v.ml:593
 msgid "This guest has virtio drivers installed."
 msgstr ""
 
@@ -1022,7 +1022,7 @@
 "require a separate password to connect."
 msgstr ""
 
-#: v2v/v2v.ml:674
+#: v2v/v2v.ml:678
 msgid "This guest requires UEFI on the target to boot."
 msgstr ""
 
@@ -1315,7 +1315,7 @@
 msgid "didn't find grub entry for kernel %s"
 msgstr ""
 
-#: v2v/v2v.ml:613
+#: v2v/v2v.ml:617
 msgid ""
 "disk %s (%s) has no defined format.\n"
 "\n"
@@ -1455,11 +1455,11 @@
 msgid "failed to find grub2-mkconfig binary (but Grub2 was detected on guest)"
 msgstr ""
 
-#: v2v/windows_virtio.ml:227
+#: v2v/windows_virtio.ml:229
 msgid "failed to install QEMU Guest Agent: %s"
 msgstr ""
 
-#: v2v/parse_ova.ml:430
+#: v2v/parse_ova.ml:432
 msgid "failed to parse line returned by tar: %S"
 msgstr ""
 
@@ -1495,7 +1495,7 @@
 msgid "floppy disk"
 msgstr ""
 
-#: v2v/v2v.ml:444
+#: v2v/v2v.ml:448
 msgid ""
 "fstrim on guest filesystem %s failed.  Usually you can ignore this message.  "
 "To find out more read \"Trimming\" in virt-v2v(1).\n"
@@ -1612,7 +1612,7 @@
 msgid "internal error: is_file_owned: unexpected output from dpkg command: %s"
 msgstr ""
 
-#: v2v/v2v.ml:717
+#: v2v/v2v.ml:721
 msgid "internal error: qemu corrupted the overlay file"
 msgstr ""
 
@@ -1653,7 +1653,7 @@
 msgid "invalid input filename (%s)"
 msgstr ""
 
-#: v2v/parse_ova.ml:414
+#: v2v/parse_ova.ml:416
 msgid "invalid offset returned by tar: %S"
 msgstr ""
 
@@ -1673,7 +1673,7 @@
 msgid "invalid selector string for --key: %s"
 msgstr ""
 
-#: v2v/parse_ova.ml:419
+#: v2v/parse_ova.ml:421
 msgid "invalid size returned by tar: %S"
 msgstr ""
 
@@ -1880,16 +1880,16 @@
 "fail when it tries to read the source disks."
 msgstr ""
 
-#: v2v/v2v.ml:420
+#: v2v/v2v.ml:424
 msgid ""
 "not enough available inodes for conversion on filesystem ???%s???.  %Ld 
inodes "
 "available < %Ld inodes needed"
 msgstr ""
 
-#: v2v/v2v.ml:416
+#: v2v/v2v.ml:419
 msgid ""
-"not enough free space for conversion on filesystem ???%s???.  %Ld bytes free 
< "
-"%Ld bytes needed"
+"not enough free space for conversion on filesystem ???%s???.  %.1f MB free < 
%d "
+"MB needed"
 msgstr ""
 
 #: v2v/create_ovf.ml:1007
@@ -1956,7 +1956,7 @@
 "\""
 msgstr ""
 
-#: v2v/v2v.ml:623
+#: v2v/v2v.ml:627
 msgid ""
 "output format should be ???raw??? or ???qcow2???.\n"
 "\n"
@@ -1979,7 +1979,7 @@
 "*.ovf file extracted from the ova"
 msgstr ""
 
-#: v2v/v2v.ml:770 v2v/v2v.ml:307
+#: v2v/v2v.ml:774 v2v/v2v.ml:307
 msgid "qemu-img command failed, see earlier errors"
 msgstr ""
 
@@ -2017,7 +2017,7 @@
 msgid "root device %s not found.  Roots found were: %s"
 msgstr ""
 
-#: v2v/windows_virtio.ml:312 v2v/windows_virtio.ml:306
+#: v2v/windows_virtio.ml:314 v2v/windows_virtio.ml:308
 msgid ""
 "root directory ???/??? is missing from the virtio-win directory or ISO.\n"
 "\n"
@@ -2029,31 +2029,31 @@
 msgid "source disk has <source dev=...> attribute in XML"
 msgstr ""
 
-#: v2v/v2v.ml:851
+#: v2v/v2v.ml:855
 msgid "source has multiple hard disk types!"
 msgstr ""
 
-#: v2v/v2v.ml:867
+#: v2v/v2v.ml:871
 msgid "source has multiple network adapter model!"
 msgstr ""
 
-#: v2v/v2v.ml:849 v2v/v2v.ml:244
+#: v2v/v2v.ml:853 v2v/v2v.ml:244
 msgid "source has no hard disks!"
 msgstr ""
 
-#: v2v/v2v.ml:859
+#: v2v/v2v.ml:863
 msgid "source has unrecognized hard disk type"
 msgstr ""
 
-#: v2v/v2v.ml:857
+#: v2v/v2v.ml:861
 msgid "source has unsupported hard disk type ???%s???"
 msgstr ""
 
-#: v2v/v2v.ml:873
+#: v2v/v2v.ml:877
 msgid "source has unsupported network adapter model ???%s???"
 msgstr ""
 
-#: v2v/v2v.ml:881
+#: v2v/v2v.ml:885
 msgid "source has unsupported video adapter model ???%s???"
 msgstr ""
 
@@ -2087,7 +2087,7 @@
 msgid "subprocess signalled or stopped by signal %d"
 msgstr ""
 
-#: v2v/v2v.ml:627
+#: v2v/v2v.ml:631
 msgid ""
 "the --compressed flag is only allowed when the output format is qcow2 (-of "
 "qcow2)"
@@ -2204,13 +2204,13 @@
 "The guest will be configured to use slower emulated devices."
 msgstr ""
 
-#: v2v/windows_virtio.ml:161
+#: v2v/windows_virtio.ml:163
 msgid ""
 "there is no QXL driver for this version of Windows (%d.%d %s).  virt-v2v "
 "looks for this driver in %s"
 msgstr ""
 
-#: v2v/windows_virtio.ml:166
+#: v2v/windows_virtio.ml:168
 msgid ""
 "there is no QXL driver for this version of Windows (%d.%d %s).  virt-v2v "
 "looks for this driver in %s\n"
@@ -2254,7 +2254,7 @@
 "specify the UUIDs of guest disk images (for this guest: %d)"
 msgstr ""
 
-#: v2v/v2v.ml:665
+#: v2v/v2v.ml:669
 msgid ""
 "this guest cannot run on the target, because the target does not support %s "
 "firmware (supported firmware on target: %s)"
@@ -2459,7 +2459,7 @@
 "input libvirt XML was ignored"
 msgstr ""
 
-#: v2v/v2v.ml:576
+#: v2v/v2v.ml:580
 msgid "virt-v2v is unable to convert this guest type (%s/%s)"
 msgstr ""
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-copy-to-local.1 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-copy-to-local.1
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-copy-to-local.1     2021-04-14 
13:29:49.225510150 +0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-copy-to-local.1     2021-04-30 
16:45:58.840266359 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-copy-to-local 1"
-.TH virt-v2v-copy-to-local 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-copy-to-local 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-input-vmware.1 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-input-vmware.1
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-input-vmware.1      2021-04-14 
13:29:49.272509598 +0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-input-vmware.1      2021-04-30 
16:45:58.896265857 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-input-vmware 1"
-.TH virt-v2v-input-vmware 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-input-vmware 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-input-xen.1 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-input-xen.1
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-input-xen.1 2021-04-14 
13:29:49.228510114 +0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-input-xen.1 2021-04-30 
16:45:58.945265417 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-input-xen 1"
-.TH virt-v2v-input-xen 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-input-xen 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-output-local.1 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-output-local.1
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-output-local.1      2021-04-14 
13:29:49.240509974 +0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-output-local.1      2021-04-30 
16:45:58.846266306 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-output-local 1"
-.TH virt-v2v-output-local 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-output-local 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-output-openstack.1 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-output-openstack.1
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-output-openstack.1  2021-04-14 
13:29:49.236510021 +0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-output-openstack.1  2021-04-30 
16:45:58.956265319 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-output-openstack 1"
-.TH virt-v2v-output-openstack 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-output-openstack 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -161,8 +161,8 @@
 variables or use output options on the virt\-v2v command line to authenticate
 with OpenStack.
 .PP
-Normally there is a file called something like \f(CW\*(C`stackrc\*(C'\fR, 
\f(CW\*(C`overcloudrc\*(C'\fR
-etc which you can simply \f(CW\*(C`source\*(C'\fR to set everything up.
+Normally there is a file called \f(CW\*(C`overcloudrc\*(C'\fR or 
\f(CW\*(C`keystonerc_admin\*(C'\fR which
+you can simply \f(CW\*(C`source\*(C'\fR to set everything up.
 .PP
 ???:
 .PP
@@ -254,8 +254,10 @@
 .PP
 This runs the \fBglance\fR\|(1) \s-1CLI\s0 program which must be installed on 
the
 virt\-v2v conversion host.  For authentication to work, you will need to set
-\&\f(CW\*(C`OS_*\*(C'\fR environment variables.  In most cases you can do this 
by sourcing a
-file called something like \fIkeystonerc_admin\fR.
+\&\f(CW\*(C`OS_*\*(C'\fR environment variables.
+.PP
+Normally there is a file called \f(CW\*(C`overcloudrc\*(C'\fR or 
\f(CW\*(C`keystonerc_admin\*(C'\fR which
+you can simply \f(CW\*(C`source\*(C'\fR to set everything up.
 .PP
 Virt\-v2v adds metadata for the guest to Glance, describing such things as
 the guest operating system and what drivers it requires.  The command
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-output-openstack.pod 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-output-openstack.pod
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-output-openstack.pod        
2021-04-14 13:29:49.169510807 +0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-output-openstack.pod        
2021-04-30 16:45:58.884265965 +0200
@@ -89,8 +89,8 @@
 variables or use output options on the virt-v2v command line to authenticate
 with OpenStack.
 
-Normally there is a file called something like C<stackrc>, C<overcloudrc>
-etc which you can simply C<source> to set everything up.
+Normally there is a file called C<overcloudrc> or C<keystonerc_admin> which
+you can simply C<source> to set everything up.
 
 ???:
 
@@ -177,8 +177,10 @@
 
 This runs the L<glance(1)> CLI program which must be installed on the
 virt-v2v conversion host.  For authentication to work, you will need to set
-C<OS_*> environment variables.  In most cases you can do this by sourcing a
-file called something like F<keystonerc_admin>.
+C<OS_*> environment variables.
+
+Normally there is a file called C<overcloudrc> or C<keystonerc_admin> which
+you can simply C<source> to set everything up.
 
 Virt-v2v adds metadata for the guest to Glance, describing such things as
 the guest operating system and what drivers it requires.  The command
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-output-rhv.1 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-output-rhv.1
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-output-rhv.1        2021-04-14 
13:29:49.237510009 +0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-output-rhv.1        2021-04-30 
16:45:58.867266117 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-output-rhv 1"
-.TH virt-v2v-output-rhv 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-output-rhv 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-support.1 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-support.1
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-support.1   2021-04-14 
13:29:49.231510079 +0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-support.1   2021-04-30 
16:45:58.942265444 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-support 1"
-.TH virt-v2v-support 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization Support"
+.TH virt-v2v-support 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-test-harness.1 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-test-harness.1
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v-test-harness.1      2021-04-14 
13:29:49.247509891 +0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v-test-harness.1      2021-04-30 
16:45:59.003264897 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-test-harness 1"
-.TH virt-v2v-test-harness 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-test-harness 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/ja/virt-v2v.1 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v.1
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v.1   2021-04-14 13:29:49.364508519 
+0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v.1   2021-04-30 16:45:58.979265112 
+0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v 1"
-.TH virt-v2v 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization Support"
+.TH virt-v2v 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -1335,9 +1335,8 @@
 .PP
 Virt\-v2v checks there is sufficient free space in the guest filesystem to
 perform the conversion.  Currently it checks:
-.ie n .IP "Linux root filesystem or Windows ""C:"" drive" 4
-.el .IP "Linux root filesystem or Windows \f(CWC:\fR drive" 4
-.IX Item "Linux root filesystem or Windows C: drive"
+.IP "Linux root filesystem" 4
+.IX Item "Linux root filesystem"
 Minimum free space: 20 \s-1MB\s0
 .IP "Linux \fI/boot\fR" 4
 .IX Item "Linux /boot"
@@ -1345,6 +1344,12 @@
 .Sp
 This is because we need to build a new initramfs for some Enterprise Linux
 conversions.
+.ie n .IP "Windows ""C:"" drive" 4
+.el .IP "Windows \f(CWC:\fR drive" 4
+.IX Item "Windows C: drive"
+Minimum free space: 100 \s-1MB\s0
+.Sp
+We may have to copy in many virtio drivers and guest agents.
 .IP "Any other mountable filesystem" 4
 .IX Item "Any other mountable filesystem"
 Minimum free space: 10 \s-1MB\s0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/ja/virt-v2v.pod 
new/virt-v2v-1.44.0/po-docs/ja/virt-v2v.pod
--- old/virt-v2v-1.43.5/po-docs/ja/virt-v2v.pod 2021-04-14 13:29:49.241509962 
+0200
+++ new/virt-v2v-1.44.0/po-docs/ja/virt-v2v.pod 2021-04-30 16:45:58.838266377 
+0200
@@ -1285,7 +1285,7 @@
 
 =over 4
 
-=item Linux root filesystem or Windows C<C:> drive
+=item Linux root filesystem
 
 Minimum free space: 20 MB
 
@@ -1296,6 +1296,12 @@
 This is because we need to build a new initramfs for some Enterprise Linux
 conversions.
 
+=item Windows C<C:> drive
+
+Minimum free space: 100 MB
+
+We may have to copy in many virtio drivers and guest agents.
+
 =item Any other mountable filesystem
 
 Minimum free space: 10 MB
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-copy-to-local.1 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-copy-to-local.1
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-copy-to-local.1     2021-04-14 
13:29:49.661505034 +0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-copy-to-local.1     2021-04-30 
16:45:59.594259595 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-copy-to-local 1"
-.TH virt-v2v-copy-to-local 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-copy-to-local 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-input-vmware.1 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-input-vmware.1
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-input-vmware.1      2021-04-14 
13:29:49.714504412 +0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-input-vmware.1      2021-04-30 
16:45:59.551259981 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-input-vmware 1"
-.TH virt-v2v-input-vmware 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-input-vmware 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-input-xen.1 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-input-xen.1
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-input-xen.1 2021-04-14 
13:29:49.664504999 +0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-input-xen.1 2021-04-30 
16:45:59.444260941 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-input-xen 1"
-.TH virt-v2v-input-xen 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-input-xen 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-output-local.1 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-output-local.1
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-output-local.1      2021-04-14 
13:29:49.674504881 +0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-output-local.1      2021-04-30 
16:45:59.458260815 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-output-local 1"
-.TH virt-v2v-output-local 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-output-local 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-output-openstack.1 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-output-openstack.1
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-output-openstack.1  2021-04-14 
13:29:49.676504858 +0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-output-openstack.1  2021-04-30 
16:45:59.608259469 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-output-openstack 1"
-.TH virt-v2v-output-openstack 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-output-openstack 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -161,8 +161,8 @@
 variables or use output options on the virt\-v2v command line to authenticate
 with OpenStack.
 .PP
-Normally there is a file called something like \f(CW\*(C`stackrc\*(C'\fR, 
\f(CW\*(C`overcloudrc\*(C'\fR
-etc which you can simply \f(CW\*(C`source\*(C'\fR to set everything up.
+Normally there is a file called \f(CW\*(C`overcloudrc\*(C'\fR or 
\f(CW\*(C`keystonerc_admin\*(C'\fR which
+you can simply \f(CW\*(C`source\*(C'\fR to set everything up.
 .PP
 ??????????????:
 .PP
@@ -252,11 +252,12 @@
 .PP
 ?????? ?????????????? ???????? ???? OpenStack Glance, 
?????????????????????????? ???????????????????? \fI\-o glance\fR.
 .PP
-?????????????? ?????????????????? ???????????????? ?? ???????????????????? 
?????????? ???????????????? \fBglance\fR\|(1), ?????? ??????
-???????? ?????????????????????? ???? ?????????????? ???????????????????????? 
virt\-v2v. ?????? ????????????????????
-??????????????????????????, ?????? ???????? ???????????????????? ???????????? 
???????????????????? \f(CW\*(C`OS_*\*(C'\fR. ?? ??????????????????
-???????????????? ?????????????? ???? ??????????, ???????????? ?????????? ???? 
??????????, ???????? ?????????????????????? ??????????
-??????: \fIkeystonerc_admin\fR.
+This runs the \fBglance\fR\|(1) \s-1CLI\s0 program which must be installed on 
the
+virt\-v2v conversion host.  For authentication to work, you will need to set
+\&\f(CW\*(C`OS_*\*(C'\fR environment variables.
+.PP
+Normally there is a file called \f(CW\*(C`overcloudrc\*(C'\fR or 
\f(CW\*(C`keystonerc_admin\*(C'\fR which
+you can simply \f(CW\*(C`source\*(C'\fR to set everything up.
 .PP
 Virt\-v2v ?????????? ???????????????? ???????? ?????????????????? 
?????????????? ???? Glance, ???????????????? ????????
 ????????, ???? ?????????? ?????????????????? ?????????????????????? 
?????????????? ?? ???????????? ?????????????????? ????
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-output-openstack.pod 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-output-openstack.pod
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-output-openstack.pod        
2021-04-14 13:29:49.605505691 +0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-output-openstack.pod        
2021-04-30 16:45:59.536260115 +0200
@@ -89,8 +89,8 @@
 variables or use output options on the virt-v2v command line to authenticate
 with OpenStack.
 
-Normally there is a file called something like C<stackrc>, C<overcloudrc>
-etc which you can simply C<source> to set everything up.
+Normally there is a file called C<overcloudrc> or C<keystonerc_admin> which
+you can simply C<source> to set everything up.
 
 ??????????????:
 
@@ -175,11 +175,12 @@
 
 ?????? ?????????????? ???????? ???? OpenStack Glance, 
?????????????????????????? ???????????????????? I<-o glance>.
 
-?????????????? ?????????????????? ???????????????? ?? ???????????????????? 
?????????? ???????????????? L<glance(1)>, ?????? ??????
-???????? ?????????????????????? ???? ?????????????? ???????????????????????? 
virt-v2v. ?????? ????????????????????
-??????????????????????????, ?????? ???????? ???????????????????? ???????????? 
???????????????????? C<OS_*>. ?? ??????????????????
-???????????????? ?????????????? ???? ??????????, ???????????? ?????????? ???? 
??????????, ???????? ?????????????????????? ??????????
-??????: F<keystonerc_admin>.
+This runs the L<glance(1)> CLI program which must be installed on the
+virt-v2v conversion host.  For authentication to work, you will need to set
+C<OS_*> environment variables.
+
+Normally there is a file called C<overcloudrc> or C<keystonerc_admin> which
+you can simply C<source> to set everything up.
 
 Virt-v2v ?????????? ???????????????? ???????? ?????????????????? 
?????????????? ???? Glance, ???????????????? ????????
 ????????, ???? ?????????? ?????????????????? ?????????????????????? 
?????????????? ?? ???????????? ?????????????????? ????
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-output-rhv.1 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-output-rhv.1
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-output-rhv.1        2021-04-14 
13:29:49.670504928 +0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-output-rhv.1        2021-04-30 
16:45:59.458260815 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-output-rhv 1"
-.TH virt-v2v-output-rhv 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-output-rhv 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-support.1 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-support.1
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-support.1   2021-04-14 
13:29:49.666504975 +0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-support.1   2021-04-30 
16:45:59.625259317 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-support 1"
-.TH virt-v2v-support 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization Support"
+.TH virt-v2v-support 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-test-harness.1 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-test-harness.1
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v-test-harness.1      2021-04-14 
13:29:49.688504717 +0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v-test-harness.1      2021-04-30 
16:45:59.452260869 +0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v-test-harness 1"
-.TH virt-v2v-test-harness 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization 
Support"
+.TH virt-v2v-test-harness 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization 
Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/uk/virt-v2v.1 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v.1
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v.1   2021-04-14 13:29:49.815503226 
+0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v.1   2021-04-30 16:45:59.613259425 
+0200
@@ -1,4 +1,4 @@
-.\" Automatically generated by Podwrapper::Man 1.43.5 (Pod::Simple 3.41)
+.\" Automatically generated by Podwrapper::Man 1.44.0 (Pod::Simple 3.41)
 .\"
 .\" Standard preamble:
 .\" ========================================================================
@@ -71,7 +71,7 @@
 .\" ========================================================================
 .\"
 .IX Title "virt-v2v 1"
-.TH virt-v2v 1 "2021-04-14" "virt-v2v-1.43.5" "Virtualization Support"
+.TH virt-v2v 1 "2021-04-27" "virt-v2v-1.44.0" "Virtualization Support"
 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
 .\" way too many mistakes in technical documents.
 .if n .ad l
@@ -1387,9 +1387,8 @@
 .PP
 Virt\-v2v ??????????????????, ???? ?????????????????? ?????????? ?? 
?????????????????? ???????????????? ?????????????? ??????
 ?????????????????? ????????????????????????. ?? ???????????????? ???????????? 
???????????????? ?????????????????? ????????:
-.ie n .IP "???????????????? ?????????????? Linux ?????? ???????? ""C:"" 
Windows" 4
-.el .IP "???????????????? ?????????????? Linux ?????? ???????? \f(CWC:\fR 
Windows" 4
-.IX Item "???????????????? ?????????????? Linux ?????? ???????? C: Windows"
+.IP "Linux root filesystem" 4
+.IX Item "Linux root filesystem"
 ?????????????????????? ?????????????? ??????????????: 20 ????
 .IP "Linux \fI/boot\fR" 4
 .IX Item "Linux /boot"
@@ -1397,6 +1396,12 @@
 .Sp
 ???????????????? ?? ????, ???? ?????? ???????????????? ?????????????? ???????? 
initramfs ?????? ???????????? ??????????????????????
 Enterprise Linux.
+.ie n .IP "Windows ""C:"" drive" 4
+.el .IP "Windows \f(CWC:\fR drive" 4
+.IX Item "Windows C: drive"
+Minimum free space: 100 \s-1MB\s0
+.Sp
+We may have to copy in many virtio drivers and guest agents.
 .IP "????????\-?????? ???????? ???????????????? ???? ???????????????????? 
?????????????? ??????????????" 4
 .IX Item "????????-?????? ???????? ???????????????? ???? ???????????????????? 
?????????????? ??????????????"
 ?????????????????????? ?????????????? ??????????????: 10 ????
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/po-docs/uk/virt-v2v.pod 
new/virt-v2v-1.44.0/po-docs/uk/virt-v2v.pod
--- old/virt-v2v-1.43.5/po-docs/uk/virt-v2v.pod 2021-04-14 13:29:49.690504693 
+0200
+++ new/virt-v2v-1.44.0/po-docs/uk/virt-v2v.pod 2021-04-30 16:45:59.473260681 
+0200
@@ -1335,7 +1335,7 @@
 
 =over 4
 
-=item ???????????????? ?????????????? Linux ?????? ???????? C<C:> Windows
+=item Linux root filesystem
 
 ?????????????????????? ?????????????? ??????????????: 20 ????
 
@@ -1346,6 +1346,12 @@
 ???????????????? ?? ????, ???? ?????? ???????????????? ?????????????? ???????? 
initramfs ?????? ???????????? ??????????????????????
 Enterprise Linux.
 
+=item Windows C<C:> drive
+
+Minimum free space: 100 MB
+
+We may have to copy in many virtio drivers and guest agents.
+
 =item ????????-?????? ???????? ???????????????? ???? ???????????????????? 
?????????????? ??????????????
 
 ?????????????????????? ?????????????? ??????????????: 10 ????
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/v2v/parse_ova.ml 
new/virt-v2v-1.44.0/v2v/parse_ova.ml
--- old/virt-v2v-1.43.5/v2v/parse_ova.ml        2021-01-19 10:36:45.742551900 
+0100
+++ new/virt-v2v-1.44.0/v2v/parse_ova.ml        2021-04-23 11:21:55.111815925 
+0200
@@ -378,7 +378,9 @@
 let re_tar_message = PCRE.compile "\\*\\* [^*]+ \\*\\*$"
 
 let get_tar_offet_and_size tar filename =
-  let lines = external_command (sprintf "tar tRvf %s" (Filename.quote tar)) in
+  let cmd =
+    sprintf "LANG=C tar --no-auto-compress -tRvf %s" (Filename.quote tar) in
+  let lines = external_command cmd in
   let rec loop lines =
     match lines with
     | [] -> raise Not_found
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/v2v/v2v.ml 
new/virt-v2v-1.44.0/v2v/v2v.ml
--- old/virt-v2v-1.43.5/v2v/v2v.ml      2021-02-08 17:57:31.470715531 +0100
+++ new/virt-v2v-1.44.0/v2v/v2v.ml      2021-04-15 18:18:36.670985293 +0200
@@ -112,7 +112,7 @@
   let inspect = Inspect_source.inspect_source cmdline.root_choice g in
 
   let mpstats = get_mpstats g in
-  check_guest_free_space mpstats;
+  check_guest_free_space inspect mpstats;
 
   (* Estimate space required on target for each disk.  Note this is a max. *)
   (match conversion_mode with
@@ -381,27 +381,28 @@
  *
  * Also make sure filesystems have available inodes. (RHBZ#1764569)
  *)
-and check_guest_free_space mpstats =
+and check_guest_free_space inspect mpstats =
   message (f_"Checking for sufficient free disk space in the guest");
 
   (* Check whether /boot has its own mount point. *)
   let has_boot = List.exists (fun { mp_path } -> mp_path = "/boot") mpstats in
+  let is_windows = inspect.i_distro = "windows" in
 
-  let needed_bytes_for_mp = function
-    | "/boot"
-    | "/" when not has_boot ->
-      (* We usually regenerate the initramfs, which has a
-       * typical size of 20-30MB.  Hence:
-       *)
-      50_000_000L
-    | "/" ->
-      (* We may install some packages, and they would usually go
-       * on the root filesystem.
-       *)
-      20_000_000L
-    | _ ->
-      (* For everything else, just make sure there is some free space. *)
-      10_000_000L
+  let needed_megabytes_for_mp = function
+    (* We usually regenerate the initramfs, which has a
+     * typical size of 20-30MB.  Hence:
+     *)
+    | "/boot" | "/" when not has_boot && not is_windows -> 50
+    (* We may install some packages, and they would usually go
+     * on the root filesystem.
+     *)
+    | "/" when not is_windows -> 20
+    (* Windows requires copying in many device drivers and possibly
+     * guest agents, so we need more space.  (RHBZ#1949147).
+     *)
+    | "/" (* when is_windows *) -> 100
+    (* For everything else, just make sure there is some free space. *)
+    | _ -> 10
   in
 
   (* Reasonable headroom for conversion operations. *)
@@ -411,10 +412,13 @@
     fun { mp_path; mp_statvfs = { G.bfree; bsize; files; ffree } } ->
       (* bfree = free blocks for root user *)
       let free_bytes = bfree *^ bsize in
-      let needed_bytes = needed_bytes_for_mp mp_path in
-      if free_bytes < needed_bytes then
-        error (f_"not enough free space for conversion on filesystem ???%s???. 
 %Ld bytes free < %Ld bytes needed")
-          mp_path free_bytes needed_bytes;
+      let needed_megabytes = needed_megabytes_for_mp mp_path in
+      let needed_bytes = Int64.of_int needed_megabytes *^ 1024L *^ 1024L in
+      if free_bytes < needed_bytes then (
+        let mb i = Int64.to_float i /. 1024. /. 1024. in
+        error (f_"not enough free space for conversion on filesystem ???%s???. 
 %.1f MB free < %d MB needed")
+          mp_path (mb free_bytes) needed_megabytes
+      );
       (* Not all the filesystems have inode counts. *)
       if files > 0L && ffree < needed_inodes then
         error (f_"not enough available inodes for conversion on filesystem 
???%s???.  %Ld inodes available < %Ld inodes needed")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virt-v2v-1.43.5/v2v/windows_virtio.ml 
new/virt-v2v-1.44.0/v2v/windows_virtio.ml
--- old/virt-v2v-1.43.5/v2v/windows_virtio.ml   2021-04-13 17:06:25.843455811 
+0200
+++ new/virt-v2v-1.44.0/v2v/windows_virtio.ml   2021-04-27 18:29:29.398168180 
+0200
@@ -155,7 +155,9 @@
 
     (* Can we install the QXL driver? *)
     let video : guestcaps_video_type =
-      let has_qxl = g#exists (driverdir // "qxl.inf") in
+      let has_qxl =
+        g#exists (driverdir // "qxl.inf") ||
+        g#exists (driverdir // "qxldod.inf") in
       match rcaps.rcaps_video, has_qxl with
       | Some QXL, false ->
         error (f_"there is no QXL driver for this version of Windows (%d.%d 
%s).  virt-v2v looks for this driver in %s")
@@ -351,34 +353,38 @@
   else if is_regular_file virtio_win || is_block_device virtio_win then (
     debug "windows: copy_from_virtio_win: guest tools source ISO %s" 
virtio_win;
 
-    try
-      let g2 = open_guestfs ~identifier:"virtio_win" () in
-      g2#add_drive_opts virtio_win ~readonly:true;
-      g2#launch ();
-      let vio_root = "/" in
-      g2#mount_ro "/dev/sda" vio_root;
-      let srcdir = vio_root ^ "/" ^ srcdir in
-      if not (g2#is_dir srcdir) then missing ()
-      else (
-        let paths = g2#find srcdir in
-        Array.iter (
-          fun path ->
-            let source = srcdir ^ "/" ^ path in
-            if g2#is_file source ~followsymlinks:false &&
-                filter path inspect then (
-              let target_name = String.lowercase_ascii (Filename.basename 
path) in
-              let target = destdir ^ "/" ^ target_name in
-              debug "windows: copying guest tools bits: '%s:%s' -> '%s'"
-                    virtio_win path target;
-
-              g#write target (g2#read_file source);
-              List.push_front target_name ret
-            )
-        ) paths;
-      );
-      g2#close()
-    with Guestfs.Error msg ->
-      error (f_"%s: cannot open virtio-win ISO file: %s") virtio_win msg
+    let g2 =
+      try
+        let g2 = open_guestfs ~identifier:"virtio_win" () in
+        g2#add_drive_opts virtio_win ~readonly:true;
+        g2#launch ();
+        g2
+      with Guestfs.Error msg ->
+        error (f_"%s: cannot open virtio-win ISO file: %s") virtio_win msg in
+    (* Note we are mounting this as root on the *second*
+     * handle, not the main handle containing the guest.
+     *)
+    g2#mount_ro "/dev/sda" "/";
+    let srcdir = "/" ^ srcdir in
+    if not (g2#is_dir srcdir) then missing ()
+    else (
+      let paths = g2#find srcdir in
+      Array.iter (
+        fun path ->
+          let source = srcdir ^ "/" ^ path in
+          if g2#is_file source ~followsymlinks:false &&
+               filter path inspect then (
+            let target_name = String.lowercase_ascii (Filename.basename path) 
in
+            let target = destdir ^ "/" ^ target_name in
+            debug "windows: copying guest tools bits: '%s:%s' -> '%s'"
+              virtio_win path target;
+
+            g#write target (g2#read_file source);
+            List.push_front target_name ret
+          )
+      ) paths;
+    );
+    g2#close()
   );
   !ret
 

Reply via email to