[libvirt] [PATCH] conf: Fix backwards migration of pSeries guests

Andrea Bolognani abologna at redhat.com
Wed Jul 19 14:41:54 UTC 2017


On Wed, 2017-07-19 at 15:33 +0200, Peter Krempa wrote:
> > Recent commits made it so that pci-root controllers for
> 
> Did we release this?

Nope, it will be in the next release.

> > +        /* Don't format the model name for PHBs when migrating so that
> > +         * guests that only use the default one can be migrated to older
> > +         * libvirt version which don't know about PHBs at all */
> > +        if (virDomainControllerIsPCIHostBridge(def) &&
> 
> This function has a confusing name, since it's explicitly checking for a
> pSeries specific thing but the name does not really imply that.

Point taken about pSeries not being mentioned in the
name, but PHBs are a pSeries-specific concept so it didn't
really occur to me at the time.

> > +            flags & VIR_DOMAIN_DEF_FORMAT_MIGRATABLE) {
> > +            formatModelName = false;
> > +        }
> 
> Won't this suppress the formatting of the type even if the user
> specified it explicitly? In that case we should not suppress it IMO.
> It will cause problems once there's a different model available.

How would the code know whether the model was set manually
by the user or automatically by libvirt?

In any case, that made me realize that not sending the model,
even if automatically filled in, could cause issues in the
future if a new model is added and becomes the default, as
the guest ABI would not be preserved during migration then.

Any help on how to deal with this? I'm clearly not very good
at the whole migration thing :(

> If the term 'PCI host bridge' is a p-series specific thing, we should
> make it more obvious in the code since it's too generic sounding without
> knowledge of the context.

Maybe I can change it to virDomainControllerIsPSeriesPHB()?
That would require passing in the virDomainDef though.

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list