Am 04.08.2011 16:20, schrieb Philipp Hahn: > Hello, > > it seems like I have discovered a bug in qemu-0.14.1 which corrupts Qcow2 > image files when using internal snapshots. > I tied this both on an amd64 host running our Debian bases UCS distribution > (using pure qemu-kvm_0.14 and pure qemu-kvm_0.14.1) and also on a pure Debian > i386 sid installation (patched qemu-kvm_0.14.1). > I can reproducte this every time doing the following steps: > 0. Create and install VM > 1. Shut down VM > 2. Create offline snapshot using "qemu-img snapshot -c Off image.qcow2" > 3. Start VM > 4. Create online snapshot using "savevm On" > 5. Shut down VM > 6. Revert to snapshot using "qemu-img snapshot -a Off image.qcow2" > Repeat step 6 three or more times and the Image is destroyed. > > My guess is that this is a but in qemu-img, which is related to having an > online snapshot (VM running) while reverting to an offline snapshot (VM > stopped), because I wasn't able to reproduce this using only offline > snapshots or only online snapshots. > > I have attached a shell script to reproduce this bug on all my runs. > * It both happens with kvm-0.14.1 and also with qemu-0.14.1. > * The cache stragtegy "writethrough" vs. "writeback" is irrelevant. > > The script needs an image nameded "pmh_squeeze-0.qcow.bak2" of an VM where you > can login via serial console using "root" for login and "univention" for > password. You can use other images as well, as long as you modify the block > device from within the VM. You get get it from > <http://download.univention.de/download/temp/qemu-0.14-qcow2/> > > There you will also find the beginning of a small Python program > called "qcow2.py" which can be used to dump the structure of an qcow2 file in > some more human readable format with some consistency checking. > > Related links: > <http://git.kernel.org/?p=virt/kvm/qemu-kvm.git;a=commit;h=e11480db7ff15a9e878f6b3cc1199b439bf7c825> > <http://git.kernel.org/?p=virt/kvm/qemu-kvm.git;a=commit;h=f0aa7a8b2d518c54430e4382309281b93e51981a> > <http://lists.gnu.org/archive/html/qemu-devel/2011-04/msg01376.html> > <https://forge.univention.org/bugzilla/show_bug.cgi?id=22221> > > Any help is appreciated. Thanks for the report. This small script seems to be enough to reproduce the corruption: qemu-img create -f qcow2 /tmp/sn.qcow2 64M qemu-img snapshot -c foo /tmp/sn.qcow2 qemu-io -c 'write -b 0 4M' /tmp/sn.qcow2 qemu-img snapshot -a foo /tmp/sn.qcow2 I'll look into the details tomorrow. Kevin -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html