[Libguestfs] [PATCH] v2v: virtio-win: include *.dll too

Richard W.M. Jones rjones at redhat.com
Tue Oct 27 09:02:02 UTC 2015


On Mon, Oct 26, 2015 at 09:00:03PM +0300, Roman Kagan wrote:
> Windows QXL drivers include also qxldd.dll which used to get filtered
> out and not copied over into the guest.  As a result QXL driver failed
> to install due to a missing file.
> 
> Correct that, and update the tests accordingly.
> 
> Signed-off-by: Roman Kagan <rkagan at virtuozzo.com>
> ---
>  v2v/fake-virtio-win/drivers/i386/Win7/qxldd.dll | 1 +
>  v2v/test-v2v-in-place.sh                        | 1 +
>  v2v/test-v2v-virtio-win-iso.sh                  | 1 +
>  v2v/test-v2v-windows-conversion.sh              | 1 +
>  v2v/utils.ml                                    | 2 +-
>  5 files changed, 5 insertions(+), 1 deletion(-)
>  create mode 100644 v2v/fake-virtio-win/drivers/i386/Win7/qxldd.dll
> 
> diff --git a/v2v/fake-virtio-win/drivers/i386/Win7/qxldd.dll b/v2v/fake-virtio-win/drivers/i386/Win7/qxldd.dll
> new file mode 100644
> index 0000000..ff43465
> --- /dev/null
> +++ b/v2v/fake-virtio-win/drivers/i386/Win7/qxldd.dll
> @@ -0,0 +1 @@
> +This is a fake qxldd.dll, used for testing only
> diff --git a/v2v/test-v2v-in-place.sh b/v2v/test-v2v-in-place.sh
> index f685ddb..1e9972d 100755
> --- a/v2v/test-v2v-in-place.sh
> +++ b/v2v/test-v2v-in-place.sh
> @@ -108,6 +108,7 @@ for drv in netkvm qxl vioscsi viostor; do
>          mktest "is-file \"$virtio_dir/$drv.$sfx\"" true
>      done
>  done
> +mktest "is-file \"$virtio_dir/qxldd.dll\"" true
>  
>  guestfish --ro -a "$img" -i < "$script" > "$response"
>  diff -u "$expected" "$response"
> diff --git a/v2v/test-v2v-virtio-win-iso.sh b/v2v/test-v2v-virtio-win-iso.sh
> index 090025c..e4228c1 100755
> --- a/v2v/test-v2v-virtio-win-iso.sh
> +++ b/v2v/test-v2v-virtio-win-iso.sh
> @@ -103,6 +103,7 @@ for drv in netkvm qxl vioscsi viostor; do
>          mktest "is-file \"$virtio_dir/$drv.$sfx\"" true
>      done
>  done
> +mktest "is-file \"$virtio_dir/qxldd.dll\"" true
>  
>  guestfish --ro -a "$d/windows-sda" -i < "$script" > "$response"
>  diff -u "$expected" "$response"
> diff --git a/v2v/test-v2v-windows-conversion.sh b/v2v/test-v2v-windows-conversion.sh
> index d086bc4..80b7096 100755
> --- a/v2v/test-v2v-windows-conversion.sh
> +++ b/v2v/test-v2v-windows-conversion.sh
> @@ -97,6 +97,7 @@ for drv in netkvm qxl vioscsi viostor; do
>          mktest "is-file \"$virtio_dir/$drv.$sfx\"" true
>      done
>  done
> +mktest "is-file \"$virtio_dir/qxldd.dll\"" true
>  
>  guestfish --ro -a "$d/windows-sda" -i < "$script" > "$response"
>  diff -u "$expected" "$response"
> diff --git a/v2v/utils.ml b/v2v/utils.ml
> index 2a668ec..d65bb94 100644
> --- a/v2v/utils.ml
> +++ b/v2v/utils.ml
> @@ -179,7 +179,7 @@ let virtio_iso_path_matches_guest_os path inspect =
>      in
>  
>      (* Skip files without specific extensions. *)
> -    let extensions = ["cat"; "inf"; "pdb"; "sys"] in
> +    let extensions = ["cat"; "dll"; "inf"; "pdb"; "sys"] in
>      if not (List.mem extension extensions) then raise Not_found;
>  
>      (* Using the full path, work out what version of Windows

Looks good.  I'll push this later today.

Thanks, Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html




More information about the Libguestfs mailing list