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 15:20:00 +0530

On (Tue) 22 Jul 2014 [12:41:30], Amit Shah wrote:
> 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.

These are the ones that remain after fixing up the rest:

Section "xio3130-downstream" Description "xio3130-express-downstream-port": 
version error: 2 > 0
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 "usb-ehci" Section "usb-ehci" Description "ehci": minimum version 
error: 0 < 1
Section "ioh3420" Description "ioh-3240-express-root-port": version error: 2 > 0
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


                Amit



reply via email to

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