Avi Kivity <avi@xxxxxxxxxx> wrote: > On 05/12/2010 02:11 AM, Juan Quintela wrote: >> Peter Lieven<pl@xxxxxxx> wrote: >> >>> Hi Qemu/KVM Devel Team, >>> >>> Live Migration from a 0.12.2 qemu-kvm to a 0.12.3 (and 0.12.4) >>> does not work: "load of migration failed" >>> >>> Is there any way to find out, why exactly it fails? I have >>> a lot of VMs running on 0.12.2 and would like to migrate >>> them to 0.12.4 >>> >>> cmdline: >>> -net tap,vlan=6,script=no,downscript=no,ifname=tap7 -net >>> nic,vlan=6,model=e1000,macaddr=52:54:00:fe:00:88 -net >>> tap,vlan=651,script=no,downscript=no,ifname=tap8 -net >>> nic,vlan=651,model=e1000,macaddr=52:54:00:ff:00:69 -drive >>> file=/dev/mapper/iqn.2001-05.com.equallogic:0-8a0906-b6eca7604-6280020bc4b4bde8-quagga,if=ide,boot=on,cache=none,aio=native >>> -m 256 -monitor tcp:0:4090,server,nowait -vnc :90 -name 'Quagga' -boot >>> order=dc,menu=on -k de -incoming tcp:172.21.59.132:5090 -pidfile >>> /var/run/qemu/vm-148.pid -rtc base=utc,clock=vm -usb -usbdevice >>> tablet -no-kvm-irqchip -vga cirrus >>> >>> Any hints would be appreciated! >>> >> Can you try reverting this patch? >> >> commit 3fa017e24b0a0f0e68619a689b9b02fe486dae9e >> Author: Marcelo Tosatti<mtosatti@xxxxxxxxxx> >> Date: Thu Feb 11 18:19:44 2010 -0200 >> >> ide save/restore pio/atapi cmd transfer fields and io buffer >> >> and told me if it works? >> >> > > Any idea why it fails? And how to fix it? Lack of "proper" subsections. IDE is something like: const VMStateDescription vmstate_ide_drive = { .version_id = 4, .... } static const VMStateDescription vmstate_bmdma = { .name = "ide bmdma", .version_id = 4, ... } const VMStateDescription vmstate_ide_pci = { .name = "ide", .version_id = 4, .... VMSTATE_STRUCT_ARRAY(bmdma, PCIIDEState, 2, 0, vmstate_bmdma, BMDMAState), VMSTATE_IDE_DRIVES(bus[0].ifs, PCIIDEState), VMSTATE_IDE_DRIVES(bus[1].ifs, PCIIDEState), .... } Notice that everything is at version 4. It used to be everything at version 3. Now the problem is that when migrating from v3 -> v4. We put in one place v3, But we only have a version number at the toplevel, rest of "subsections" don't sent a version number. There is no way to fix it in the general case. We can hack something around for ide, but that will just be a hack, or we can backport marcelo change and port it as a proper subsection (that is my plan). I expect to have time at the end of next time to work on this. So, to make the story short: I know what is happening, and I know how to fix it, just that fix is not trivial. I just need time. Later, Juan. -- 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