[libvirt PATCH 33/80] qemu: Introduce qemuMigrationDstFinishOffline

Jiri Denemark jdenemar at redhat.com
Wed May 18 11:42:15 UTC 2022


On Wed, May 11, 2022 at 16:53:48 +0200, Peter Krempa wrote:
> On Tue, May 10, 2022 at 17:20:54 +0200, Jiri Denemark wrote:
> > Refactors qemuMigrationDstFinish by moving some parts to a dedicated
> > function for easier introduction of postcopy resume code without
> > duplicating common parts of the Finish phase. The goal is to have the
> > following call graph:
> > 
> >     - qemuMigrationDstFinish
> >         - qemuMigrationDstFinishOffline
> >         - qemuMigrationDstFinishActive
> >             - qemuMigrationDstFinishFresh
> >             - qemuMigrationDstFinishResume
> > 
> > Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> > ---
> >  src/qemu/qemu_migration.c | 39 +++++++++++++++++++++++++++++----------
> >  1 file changed, 29 insertions(+), 10 deletions(-)
> > 
> > diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> > index 385bd91a6b..dcd7ff3597 100644
> > --- a/src/qemu/qemu_migration.c
> > +++ b/src/qemu/qemu_migration.c
> > @@ -5839,6 +5839,32 @@ qemuMigrationDstComplete(virQEMUDriver *driver,
> >  }
> >  
> >  
> > +static virDomainPtr
> > +qemuMigrationDstFinishOffline(virQEMUDriver *driver,
> > +                              virConnectPtr dconn,
> > +                              virDomainObj *vm,
> > +                              qemuMigrationCookie *mig,
> > +                              char **cookieout,
> > +                              int *cookieoutlen)
> > +{
> > +    virDomainPtr dom = NULL;
> > +
> > +    if (qemuMigrationDstPersist(driver, vm, mig, false) < 0)
> > +        return NULL;
> > +
> > +    dom = virGetDomain(dconn, vm->def->name, vm->def->uuid, -1);
> > +
> > +    if (dom &&
> 
> Earlier I've commented about uselessness of this check. Other code
> formats the cookie unconditionally.

That's because the cookie is formatted before calling virGetDomain
there. We could swap it here too, or drop the check, but we can as well
keep it as is and avoid formatting the cookie when virGetDomain fails
(even though the failure is mostly theoretical).

Jirka


More information about the libvir-list mailing list