[libvirt PATCH 25/80] qemu: Move success-only code out of endjob in qemuMigrationDstFinish

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


On Wed, May 11, 2022 at 15:40:58 +0200, Peter Krempa wrote:
> On Tue, May 10, 2022 at 17:20:46 +0200, Jiri Denemark wrote:
> > Code executed only when dom != NULL can be moved before "endjob" label,
> > to the only place where dom is set.
> > 
> > Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> > ---
> >  src/qemu/qemu_migration.c | 50 ++++++++++++++++++++++-----------------
> >  1 file changed, 28 insertions(+), 22 deletions(-)
> > 
> > diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> > index 1f6f008ad9..cb17cbd189 100644
> > --- a/src/qemu/qemu_migration.c
> > +++ b/src/qemu/qemu_migration.c
> > @@ -5844,8 +5844,16 @@ qemuMigrationDstFinish(virQEMUDriver *driver,
> >  
> >      if (flags & VIR_MIGRATE_OFFLINE) {
> >          if (retcode == 0 &&
> > -            qemuMigrationDstPersist(driver, vm, mig, false) == 0)
> > +            qemuMigrationDstPersist(driver, vm, mig, false) == 0) {
> >              dom = virGetDomain(dconn, vm->def->name, vm->def->uuid, -1);
> 
> IMO virGetDomain should be treated as that it can't fail ...

Well, it does not return void and we check the value elsewhere...

> 
> > +
> > +            if (dom &&
> 
> ... so this check seems pointless.

Mostly, but we can avoid formatting the cookie in case we know we're
going to fail anyway.

> > +                qemuMigrationCookieFormat(mig, driver, vm,
> > +                                  QEMU_MIGRATION_DESTINATION,
> > +                                  cookieout, cookieoutlen,
> > +                                  QEMU_MIGRATION_COOKIE_STATS) < 0)
> 
> broken alignment

Oops.

> > +                VIR_WARN("Unable to encode migration cookie");
> > +        }
> >          goto endjob;
> >      }
> >  

Jirka


More information about the libvir-list mailing list