[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-discuss] qemu-img convert corruption (RAW to RAW)

From: Dominik Csapak
Subject: [Qemu-discuss] qemu-img convert corruption (RAW to RAW)
Date: Fri, 18 Mar 2016 08:33:48 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.6.0


I have a strange issue with qemu-img convert which corrupts my images, and found nothing relevant online.
Maybe someone here can help me.

My problem:

I have a Windows 10 VM with a hd image file of type RAW with cache mode writeback. I boot it up, write a bunch of data (a few gigabytes with crystal disk mark) and shutdown.
As soon as the qemu/kvm process is gone i do a
"qemu-img convert -p -f raw -O raw vmdisk.raw vmdisk2.raw"
When it finishes i do a compare:
"cmp vmdisk.raw vmidsk2.raw"
The output is:
"vmdisk.raw vmdisk2.raw differ: byte yyyyy, line zzzzz"
this it tells me that the files are different.
this manifests by the fact that sometimes in windows on the new disk i get filesystem errors or damaged files.
(depending on where the writes were)

now the strange part:
it does not happen with linux guests
it does not happen when i do a "echo 3 > /proc/sys/vm/drop_caches" before the qemu-img command it does not happen when i have the "-t none" or "-t writethrough" flags on my qemu-img command
it DOES happen when i do a sync before the qemu-img command
the "-T" parameter makes no difference
it does also not happen when i cp the file
also when i wait a few minutes before the qemu-img command it works correctly

now the real questions:
is writeback with windows not recommended (i would assume after a guest shutdown it would be safe) what do the -t and -T flags on qemu-img convert and why does it bypass the host page cache (apparently?)
why does it work when i specify no caching on the target
(this baffles me, since it would seem that the source cache is the culprit, not the target)

i apologize for the long message
and hope someone can explain this to me

with kind regards
Dominik Csapak

reply via email to

[Prev in Thread] Current Thread [Next in Thread]