On (Tue) 26 Jul 2016 [10:00:49], Igor Mammedov wrote:
> On Tue, 26 Jul 2016 10:41:38 +0530
> Amit Shah <[email protected]> wrote:
>
> > On (Wed) 20 Jul 2016 [12:08:32], Eduardo Habkost wrote:
> > > From: Igor Mammedov <[email protected]>
> > >
> > > instance_id is generated by last_used_id + 1 for a given device type
> > > so for QEMU with 3 CPUs instance_id for APICs is a seti of [0, 1, 2]
> > > When CPU in the middle is hot-removed and migration started
> > > APICs with instance_ids 0 and 2 are transferred in migration stream.
> > > However target starts with 2 CPUs and APICs' instance_ids are
> > > generated from scratch [0, 1] hence migration fails with error
> > > Unknown savevm section or instance 'apic' 2
> > >
> > > Fix issue by manually registering APIC's vmsd with apic_id as
> > > instance_id, in this case instance_id on target will always
> > > match instance_id on source as apic_id is the same for a given
> > > cpu instance.
> > >
> > > Reported-by: Bharata B Rao <[email protected]>
> > > Signed-off-by: Igor Mammedov <[email protected]>
> > > Reviewed-by: Dr. David Alan Gilbert <[email protected]>
> > > Reviewed-by: Michael S. Tsirkin <[email protected]>
> > > Signed-off-by: Eduardo Habkost <[email protected]>
> >
> > After these patches, the static checker complains about missing
> > sections:
> >
> > Section "apic-common" does not exist in dest
> > Section "apic" does not exist in dest
> > Section "kvm-apic" does not exist in dest
> It works for me, could you post reproducing commands?
This was flagged by a nightly run of the static checker when this
series was pulled. On a 'before' tree, ie one w/o the patches, do
this:
qemu -dump-vmstate before.json
and for after:
qemu -dump-vmstate after.json
then,
python ./scripts/vmstate-static-checker.py -s before.json -d after.json
and that shows the output from above.
Amit