On 3/22/22 22:49, David Gibson wrote:
On Tue, Mar 22, 2022 at 03:38:50PM -0300, Daniel Henrique Barboza wrote:
Hi,
This short series converts some spapr devices to use the dc->vmsd
interface to register the vmstate. For most of them it was needed
to use qdev_set_legacy_instance_id() to keep compatibility with the
instance_id being used for awhile.
Although no functional changes were made the resulting code is a bit
shorter and maintainable. After these patches there are only 3 places
where vmstate_register() APIs are being used.
No behavior changes were detected when testing migration scenarios with
hotplug/unplug of devices.
Looks good tome.
It looked good to me until, after further testing, I noticed that patch 03
breaks backward migration:
qemu_loadvm_state_section_startfull 560 (spapr_iommu) 0 2
qemu-system-ppc64: Unknown savevm section or instance 'spapr_iommu' 0. Make sure
that your current VM setup matches your saved VM setup, including any
hotplugged devices
qemu-system-ppc64: load of migration failed: Invalid argument
I made a follow-up in the instance_id discussion [1] about it. For now patches
1-3 are
compromised. Only patch 04 is worth considering because the spapr_nvdimm device
isn't
setting a custom instance_id.
[1] https://lists.gnu.org/archive/html/qemu-devel/2022-03/msg05942.html
Thanks,
Daniel