Creating a qcow2 image, mkfs.ext3, sometimes mounting it would fail immediately, but in all cases it would corrupt (overwritten with zeros) after starting up backuppc on it. This is KVM-79 on a Debian lenny host and guest.
This occured using virtio or not. Swapping to a raw file or LV worked flawlessly. I've tested the box with memtest and I don't have issues elsewhere but I've seen corruptions on other images. host and guest are both 2.6.26-1-adm64 kernel (debian lenny) I'm running 32-bit userspace everywhere. Dual core Intel Core2 E6300.
I see KVM-81 has "improve qcow2 data integrity with cache=writethrough" which might be what I'm hitting - but I can't find more details about this to check (and backport patch to debian package or wait for newer debian package).
thanks.
Same problem here.
With Lenny and vanilla 2.6.28 kernel, with KVM 79, and with KVM 82 user tools.
Tried with KVM 82 module compile for 2.6.28 and with 2.6.28 builtin KVM sources.
32-bit userspace and kernel, Intel C2D T7100.
Another effect:
With empty qcow2, vmdk disk image formats, when I try to create a partition and save the new partition table, they can't save it until reboot. With raw image format there is no such problem.
I liked to try with qcow, but:
qemu: could not open disk image teszt.qcow
I switched all of my disk images to raw, until the problem fixed.
PS: The host filesystem is ext4, but I tested under ext3 filesystem too and the problem wasn't disappeared.
I am not quite sure it's true or not, for my case, I get corruption if I have a new FC9 Guest installation with qcow2 with virtio_blk. But it won't have any problem if I install with a FC8 qcow2 installation, then upgrade to FC9 with virtio_blk
Confirmed on kvm-82. I am getting reproducible qcow2 corruption on my Windows images.
Host: Ubuntu 8.04.1 amd64 (Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz)
Guest: Multiple (see below)
Summary is:
Confirmed with multiple Windows Server 2003 guests and now Windows 7 beta too:
$ qemu-img info windows7beta.qcow2
image: windows7beta.qcow2
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 5.0G
cluster_size: 4096
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 Fresh_install 1.3M 2009-01-09 15:34:31 00:00:00.000
2 Activated_kvm-82 1.3M 2009-01-09 15:43:27 00:00:00.000
$ qemu -m 512 -usbdevice tablet -redir tcp:3389::3389 windows7beta.qcow2 &
(use and then shut down windows)
$ qemu-img info windows7beta.qcow2
image: windows7beta.qcow2
file format: raw <---------------------------- INVALID
virtual size: 5.0G (5353566208 bytes) <--------- INVALID
disk size: 5.0G
$ qemu -m 512 -usbdevice tablet -redir tcp:3389::3389 windows7beta.qcow2 -S &
(qemu) info snapshots
Snapshot devices: ide0-hd0
bdrv_snapshot_list: error -95
danv, can you please specify more details - does this corruption is consistent or happens rarely?
Do you create/manage snapshots while the image is up?
If no special snapshot action taken, what's the guest do between the boot and the shutdown?
(Just to make sure, you do not run multiple guests with the same image right?)
I narrowed down my problem to one Fedora patch, which include in Debian too, but not in vanilla kvm, so vanilla kvm isn't effected.
The Fedora patch: http://cvs.fedoraproject.org/viewvc/rpms/kvm/devel/kvm-62-block-rw-range-check.patch?revision=1.7&view=markup
I removed the CVE-2008-0928-fedora.patch from the debian source package and recompiled it, the partitioning problem solved.
Fedora bugzilla entry: https://bugzilla.redhat.com/show_bug.cgi?id=433560
A question. Is this vulnerability confirmed by qemu devels or why only distributions fixed this? Their fix seems to cause problems with qcow2, qcow, vmdk formats.
The patch works well last in debian before 79+dfsg-3, when they started to use Fedora's updated patch. Perhaps the packagers modified the patch for newer kvms badly.
Debian kvm git repo's commit: http://git.debian.org/?p=collab-maint/kvm.git;a=commitdiff;h=bae731aae2195651090517903f338635117fbd36
My problem is kvm-82 vanilla, compiled with no special options.
It happens consistently with kvm-82, but is not necessarily new to kvm-82 because I haven't used these images extensively with prior kvm releases.
No, I do not do anything dangerous like run multiple guests with the same image or manage snapshots while the guest is up (only at pre-boot, when stopped).
To reproduce repeatedly in the two cases I've seen it recently:
Case A: Windows Server 2003 (standard and enterprise) x86:
Case B: Windows 7 beta x86
This is a very serious problem. Thought it sounds like a new separate bug may be required...
Reproduced qcow2 corruption again, using kvm-83 now. Same steps as before.
As the original problem is resolved, it's description now inaccurate, and my problem is ongoing, please close this bug. I will open a new one.
I've tested with new debian KVM-83 package - which also removes that fedora patch. I can't reproduce the corruption I had anymore. Feel free to close this bug. Thanks.
Should be fixed in kvm-88.
This Tracker item was closed automatically by the system. It was
previously set to a Pending status, and the original submitter
did not respond within 14 days (the time period specified by
the administrator of this Tracker).