On Mon, Jun 25, 2018 at 8:43 PM Nir Soffer <nsoffer(a)redhat.com> wrote:
On Mon, Jun 25, 2018 at 8:30 PM Nir Soffer <nirsof(a)gmail.com>
wrote:
> http was missing in emulate_zero, so the code would fail with NameError.
> This can happen only when communicating with old imageio versions not
> supporting the "zero" feature.
>
> Testing with qemu-img 2.12 show that we never send emulated zero request
> because of the highestwrite mechanism, but it can break with older
> qemu-img-rhev used on RHEL.
> ---
> v2v/rhv-upload-plugin.py | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/v2v/rhv-upload-plugin.py b/v2v/rhv-upload-plugin.py
> index 2eec375f7..0f6b31e67 100644
> --- a/v2v/rhv-upload-plugin.py
> +++ b/v2v/rhv-upload-plugin.py
> @@ -338,6 +338,8 @@ def zero(h, count, offset, may_trim):
> r.read()
>
> def emulate_zero(h, count, offset):
> + http = h['http']
>
After some more cleanup, I found that we are missing also "transfer" here.
I'll send a fixed patch.
Fixed in
https://www.redhat.com/archives/libguestfs/2018-June/msg00118.html
> +
> # qemu-img convert starts by trying to zero/trim the whole device.
> # Since we've just created a new disk it's safe to ignore these
> # requests as long as they are smaller than the highest write seen.
> --
> 2.17.1
>
>