On 16/01/20 19:03, Olaf Hering wrote: > With commit 7fccf2a06890e3bc3b30e29827ad3fb93fe88fea a new member > smbus_no_migration_support was added, and enabled in two places. > With commit 4ab2f2a8aabfea95cc53c64e13b3f67960b27fdf the vmstate_acpi > got new elements, which are conditionally filled. As a result, an > incoming migration expected smbus related data unless smbus migration > was disabled for a given MachineClass. > > Since commit 7fccf2a06890e3bc3b30e29827ad3fb93fe88fea forgot to handle > xenfv, live migration to receiving hosts using qemu-4.0 and later is broken. > > Therefore this patch must be applied to stable-4.x as well. > > Signed-off-by: Olaf Hering <[email protected]> > --- > > diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c > index fa12203079..e19716d0d3 100644 > --- a/hw/i386/pc_piix.c > +++ b/hw/i386/pc_piix.c > @@ -952,6 +952,7 @@ static void xenfv_machine_options(MachineClass *m) > m->desc = "Xen Fully-virtualized PC"; > m->max_cpus = HVM_MAX_VCPUS; > m->default_machine_opts = "accel=xen"; > + m->smbus_no_migration_support = true; > } > > DEFINE_PC_MACHINE(xenfv, "xenfv", pc_xen_hvm_init, >
This patch is wrong; xenfv does not support cross-version migration compatibility. Even if the migration stream does not change, the hardware exposed to the guest will. My understanding is that Xen is able to use "-M pc-i440fx-VERSION,accel=xen". The presence of the version in the machine type guarantees that the migration stream is compatible and that the hardware exposed to the guest is the same on the source and destination. Is this incorrect? Paolo
