On 06/30/2014 05:16 PM, Eric Blake wrote: > I'm trying to track down a core dump with the QMP drive-mirror command.
Looks like the bug is related to a base image that is not a multiple of a cluster size. > > # in one terminal: > cd /tmp > rm -f base.img snap1.img snap2.img copy.img > > # base.img <- snap1.img <- snap2.img; intentionally populating base.img > # with a qcow2 header, but treating it as raw data > qemu-img create -f qcow2 base.img 10M If, right here, I inject: truncate --size 262144 base.img > qemu-img create -f qcow2 -b base.img -o backing_fmt=raw snap1.img > qemu-img create -f qcow2 -b snap1.img -o backing_fmt=qcow2 snap2.img > cp base.img copy.img > # Yes, this command line is derived from libvirt... > LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin \ > QEMU_AUDIO_DRV=none gdb --args /usr/bin/qemu-system-x86_64 \ ...then everything else succeeds. So it seems the problem is that qemu is doing a lousy job of handling a backing file and/or destination file that is not fully rounded out to a proper size. -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature