qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Live migrate, inconsistent machine types - new machine


From: Amit Shah
Subject: Re: [Qemu-devel] Live migrate, inconsistent machine types - new machine type to fix?
Date: Tue, 22 Jul 2014 12:41:30 +0530

On (Sat) 19 Jul 2014 [12:37:31], Alex Bligh wrote:
> Paolo,
> 
> On 19 Jul 2014, at 11:53, Paolo Bonzini <address@hidden> wrote:

<snip>

> >> However, after the block migration is finished, I now see:
> >> 
> >> Receiving block device images
> >> Completed 100 %
> >> Unknown savevm section type 255
> >> load of migration failed
> > 
> > This could be another incompatibility between qemu-kvm and qemu.  I know
> > we had a couple in Fedora.
> > 
> >> My guess is this might be the bogus inclusion of PITCommonState
> >> per the last hunk of
> >> http://pkgs.fedoraproject.org/cgit/qemu.git/tree/0001-Fix-migration-from-qemu-kvm.patch?h=f20
> >> 
> >> Is there a technique to debug this sort of thing?
> > 
> > You can try using Amit's vmstate checker.
> 
> I think this requires a json output in the format given by -dump-vmstate
> (unless we're at cross purposes). qemu 1.0 does not produce such a JSON
> output. I only have the vmstate to go on (same problem exists if
> -S is used throughout so the VM never starts and without block migration).

My long-term plan is to put all the json dumps in the git tree, so
comparing these jsons at release-time becomes easy.

I've backported the -dump-vmstate patches to qemu-1.0, the backport is
here:

http://paste.fedoraproject.org/119724/14060126/

(I'll be publishing these to my git repo soon.)

and the json dump is here:

http://paste.fedoraproject.org/119725/01268914/

Comparing qemu-1.0 to qemu-2.1 -M pc-1.0 gives a few errors:

$ ./scripts/vmstate-static-checker.py -s v1.0-1.0.json -d 
upstream-20140722-v1.0.json 
Section "xio3130-downstream" Description "xio3130-express-downstream-port": 
version error: 2 > 0
Section "xio3130-downstream": Description "PCIDevice" missing, got "PCIEDevice" 
instead; skipping
Section "usb-ccid", Description "usb-ccid": expected field 
"abProtocolDataStructure", got "abProtocolDataStructure.data"; skipping rest
Section "ich9-ahci": Description "ahci" missing, got "ich9_ahci" instead; 
skipping
Section "usb-host" Section "usb-host" Description "usb-host": minimum version 
error: 0 < 1
Section "ich9-usb-ehci1" Section "ich9-usb-ehci1" Description "ehci": minimum 
version error: 0 < 1
Section "x3130-upstream" Description "xio3130-express-upstream-port": version 
error: 2 > 0
Section "x3130-upstream": Description "PCIDevice" missing, got "PCIEDevice" 
instead; skipping
Section "vmware-svga", Description "vmware_vga": expected field "card", got 
"parent_obj"; skipping rest
Section "usb-ehci" Section "usb-ehci" Description "ehci": minimum version 
error: 0 < 1
Section "apic", Description "apic": expected field "timer", got "timer_expiry"; 
skipping rest
Section "ioh3420" Description "ioh-3240-express-root-port": version error: 2 > 0
Section "ioh3420": Description "PCIDevice" missing, got "PCIEDevice" instead; 
skipping
Section "isa-pit", Description "i8254": expected field "channels", got 
"channels[0].irq_disabled"; skipping rest
Section "PIIX4_PM" Section "PIIX4_PM" Description "piix4_pm": minimum version 
error: 2 < 3
Section "PIIX4_PM", Description "piix4_pm": expected field "pm1a.sts", got 
"ar.pm1.evt.sts"; skipping rest
Section "lsi53c895a", Description "lsiscsi": expected field "dev", got 
"parent_obj"; skipping rest
Section "mc146818rtc", Description "mc146818rtc": expected field 
"current_tm.tm_sec", got "unused"; skipping rest

Of these, section renames can be handled by whitelisting them in the
script.  The version and minimum_version errors will have to be looked
at in detail.

Hopefully you can use these results and share your findings.


                Amit



reply via email to

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