diff mbox

[v2,2/3] spapr: fix migration of older pseries

Message ID 20160217160522.840.70479.stgit@bahia.huguette.org
State New
Headers show

Commit Message

Greg Kurz Feb. 17, 2016, 4:06 p.m. UTC
Use the require-config-section machine property to fix migration of older
pseries (version < 2.4) started with an older QEMU (version < 2.4).

Older machines started with QEMU 2.4 are not affected by this change since
they send the configuration section unconditionally.

Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
---
v2: - added comment to explain the migration breakage
    - updated changelog
---
 hw/ppc/spapr.c |   10 ++++++++++
 1 file changed, 10 insertions(+)
diff mbox

Patch

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 5bd8fd3ef842..256d90de8b2c 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -2446,6 +2446,16 @@  static void spapr_machine_2_3_instance_options(MachineState *machine)
     spapr_machine_2_4_instance_options(machine);
     savevm_skip_section_footers();
     global_state_set_optional();
+    /* QEMU 2.4 added a configuration section to the migration stream. A
+     * call to savevm_skip_configuration() should have been added here
+     * since pseries-2.3 came with QEMU 2.3. This did not occur.
+     * The consequence is that pseries-2.3 will now always submit a
+     * configuration section by default and cannot be migrated back to
+     * QEMU 2.3.
+     * The require-config-section property allows pseries-2.3 to be migrated
+     * from QEMU 2.3 though.
+     */
+    machine->require_config_section = false;
 }
 
 static void spapr_machine_2_3_class_options(MachineClass *mc)