diff mbox

[28/35] spapr: skip configuration section during migration of older machines

Message ID 1458581313-19045-29-git-send-email-mdroth@linux.vnet.ibm.com
State New
Headers show

Commit Message

Michael Roth March 21, 2016, 5:28 p.m. UTC
From: Greg Kurz <gkurz@linux.vnet.ibm.com>

Since QEMU 2.4, we have a configuration section in the migration stream.
This must be skipped for older machines, like it is already done for x86.

This patch fixes the migration of pseries-2.3 from/to QEMU 2.3, but it
breaks migration of the same machine from/to QEMU 2.4/2.4.1/2.5. We do
that anyway because QEMU 2.3 is likely to be more widely deployed than
newer QEMU versions.

Fixes: 61964c23e5ddd5a33f15699e45ce126f879e3e33
Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
Reviewed-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
(cherry picked from commit 09b5e30da5b19f44768a5429f603caaede216757)

Conflicts:
	hw/ppc/spapr.c

*remove dep on 5013c5474

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
---
 hw/ppc/spapr.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Greg Kurz March 22, 2016, 7:49 a.m. UTC | #1
On Mon, 21 Mar 2016 12:28:26 -0500
Michael Roth <mdroth@linux.vnet.ibm.com> wrote:

> From: Greg Kurz <gkurz@linux.vnet.ibm.com>
> 
> Since QEMU 2.4, we have a configuration section in the migration stream.
> This must be skipped for older machines, like it is already done for x86.
> 
> This patch fixes the migration of pseries-2.3 from/to QEMU 2.3, but it
> breaks migration of the same machine from/to QEMU 2.4/2.4.1/2.5. We do
> that anyway because QEMU 2.3 is likely to be more widely deployed than
> newer QEMU versions.
> 
> Fixes: 61964c23e5ddd5a33f15699e45ce126f879e3e33
> Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
> Reviewed-by: Laurent Vivier <lvivier@redhat.com>
> Reviewed-by: Juan Quintela <quintela@redhat.com>
> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> (cherry picked from commit 09b5e30da5b19f44768a5429f603caaede216757)
> 
> Conflicts:
> 	hw/ppc/spapr.c
> 
> *remove dep on 5013c5474
> 
> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
> ---

This will break migration of pseries-2.3 from QEMU 2.5 to QEMU 2.5.1. Maybe
this should be documented somewhere ?

Also, there's a companion patch to allow migration to succeed with manual
intervention on the destination:

commit 902c053d834e3b802ec736f170edf226d4a841ff
Author: Greg Kurz <gkurz@linux.vnet.ibm.com>
Date:   Thu Feb 18 12:32:25 2016 +0100

    migration: allow machine to enforce configuration section migration

Maybe worth to push to stable as well ?

>  hw/ppc/spapr.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 6bfb908..ff1537a 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -2327,6 +2327,7 @@ static void spapr_compat_2_3(Object *obj)
>  {
>      savevm_skip_section_footers();
>      global_state_set_optional();
> +    savevm_skip_configuration();
>  }
> 
>  static void spapr_compat_2_2(Object *obj)
Michael Roth March 22, 2016, 10:35 p.m. UTC | #2
Quoting Greg Kurz (2016-03-22 02:49:35)
> On Mon, 21 Mar 2016 12:28:26 -0500
> Michael Roth <mdroth@linux.vnet.ibm.com> wrote:
> 
> > From: Greg Kurz <gkurz@linux.vnet.ibm.com>
> > 
> > Since QEMU 2.4, we have a configuration section in the migration stream.
> > This must be skipped for older machines, like it is already done for x86.
> > 
> > This patch fixes the migration of pseries-2.3 from/to QEMU 2.3, but it
> > breaks migration of the same machine from/to QEMU 2.4/2.4.1/2.5. We do
> > that anyway because QEMU 2.3 is likely to be more widely deployed than
> > newer QEMU versions.
> > 
> > Fixes: 61964c23e5ddd5a33f15699e45ce126f879e3e33
> > Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
> > Reviewed-by: Laurent Vivier <lvivier@redhat.com>
> > Reviewed-by: Juan Quintela <quintela@redhat.com>
> > Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> > (cherry picked from commit 09b5e30da5b19f44768a5429f603caaede216757)
> > 
> > Conflicts:
> >       hw/ppc/spapr.c
> > 
> > *remove dep on 5013c5474
> > 
> > Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
> > ---
> 
> This will break migration of pseries-2.3 from QEMU 2.5 to QEMU 2.5.1. Maybe
> this should be documented somewhere ?
> 
> Also, there's a companion patch to allow migration to succeed with manual
> intervention on the destination:
> 
> commit 902c053d834e3b802ec736f170edf226d4a841ff
> Author: Greg Kurz <gkurz@linux.vnet.ibm.com>
> Date:   Thu Feb 18 12:32:25 2016 +0100
> 
>     migration: allow machine to enforce configuration section migration
> 
> Maybe worth to push to stable as well ?

Yah, makes sense. I'll include this patch and document compatibility
changes in the release notes.

Is this wording correct?

"Fixes migration between QEMU 2.3 and QEMU 2.5.1 when running
pseries-2.3 machine model. Note that for migration of same
pseries-2.3 machine to/from QEMU versions 2.4.x and 2.5, 
the -machine enforce-config-section=on option now needs to be
used."

> 
> >  hw/ppc/spapr.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > index 6bfb908..ff1537a 100644
> > --- a/hw/ppc/spapr.c
> > +++ b/hw/ppc/spapr.c
> > @@ -2327,6 +2327,7 @@ static void spapr_compat_2_3(Object *obj)
> >  {
> >      savevm_skip_section_footers();
> >      global_state_set_optional();
> > +    savevm_skip_configuration();
> >  }
> > 
> >  static void spapr_compat_2_2(Object *obj)
>
Greg Kurz March 23, 2016, 7:59 a.m. UTC | #3
On Tue, 22 Mar 2016 17:35:18 -0500
Michael Roth <mdroth@linux.vnet.ibm.com> wrote:

> Quoting Greg Kurz (2016-03-22 02:49:35)
> > On Mon, 21 Mar 2016 12:28:26 -0500
> > Michael Roth <mdroth@linux.vnet.ibm.com> wrote:
> >   
> > > From: Greg Kurz <gkurz@linux.vnet.ibm.com>
> > > 
> > > Since QEMU 2.4, we have a configuration section in the migration stream.
> > > This must be skipped for older machines, like it is already done for x86.
> > > 
> > > This patch fixes the migration of pseries-2.3 from/to QEMU 2.3, but it
> > > breaks migration of the same machine from/to QEMU 2.4/2.4.1/2.5. We do
> > > that anyway because QEMU 2.3 is likely to be more widely deployed than
> > > newer QEMU versions.
> > > 
> > > Fixes: 61964c23e5ddd5a33f15699e45ce126f879e3e33
> > > Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com>
> > > Reviewed-by: Laurent Vivier <lvivier@redhat.com>
> > > Reviewed-by: Juan Quintela <quintela@redhat.com>
> > > Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> > > (cherry picked from commit 09b5e30da5b19f44768a5429f603caaede216757)
> > > 
> > > Conflicts:
> > >       hw/ppc/spapr.c
> > > 
> > > *remove dep on 5013c5474
> > > 
> > > Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
> > > ---  
> > 
> > This will break migration of pseries-2.3 from QEMU 2.5 to QEMU 2.5.1. Maybe
> > this should be documented somewhere ?
> > 
> > Also, there's a companion patch to allow migration to succeed with manual
> > intervention on the destination:
> > 
> > commit 902c053d834e3b802ec736f170edf226d4a841ff
> > Author: Greg Kurz <gkurz@linux.vnet.ibm.com>
> > Date:   Thu Feb 18 12:32:25 2016 +0100
> > 
> >     migration: allow machine to enforce configuration section migration
> > 
> > Maybe worth to push to stable as well ?  
> 
> Yah, makes sense. I'll include this patch and document compatibility
> changes in the release notes.
> 
> Is this wording correct?
> 
> "Fixes migration between QEMU 2.3 and QEMU 2.5.1 when running
> pseries-2.3 machine model. Note that for migration of same
> pseries-2.3 machine to/from QEMU versions 2.4.x and 2.5, 
> the -machine enforce-config-section=on option now needs to be
> used."
> 

Of course this is also the case for older pseries (< 2.3) but the wording
is correct.

Thanks !

> >   
> > >  hw/ppc/spapr.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> > > index 6bfb908..ff1537a 100644
> > > --- a/hw/ppc/spapr.c
> > > +++ b/hw/ppc/spapr.c
> > > @@ -2327,6 +2327,7 @@ static void spapr_compat_2_3(Object *obj)
> > >  {
> > >      savevm_skip_section_footers();
> > >      global_state_set_optional();
> > > +    savevm_skip_configuration();
> > >  }
> > > 
> > >  static void spapr_compat_2_2(Object *obj)  
> >
diff mbox

Patch

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 6bfb908..ff1537a 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -2327,6 +2327,7 @@  static void spapr_compat_2_3(Object *obj)
 {
     savevm_skip_section_footers();
     global_state_set_optional();
+    savevm_skip_configuration();
 }
 
 static void spapr_compat_2_2(Object *obj)