[libvirt] [PATCH 2/7] qemu: Add qemuProcessVerifyCPU

Jiri Denemark jdenemar at redhat.com
Thu Jul 13 07:46:11 UTC 2017


On Wed, Jul 12, 2017 at 15:14:20 +0200, Pavel Hrdina wrote:
> On Wed, Jul 12, 2017 at 02:56:48PM +0200, Jiri Denemark wrote:
> > Separated from qemuProcessUpdateLiveGuestCPU. The function makes sure
> > a guest CPU provides all features required by a domain definition.
> > 
> > Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> > ---
> >  src/qemu/qemu_process.c | 35 ++++++++++++++++++++++++++++-------
> >  1 file changed, 28 insertions(+), 7 deletions(-)
> > 
> > diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
> > index b2d27b6be..198f68d93 100644
> > --- a/src/qemu/qemu_process.c
> > +++ b/src/qemu/qemu_process.c
> > @@ -3986,6 +3986,31 @@ qemuProcessFetchGuestCPU(virQEMUDriverPtr driver,
> >  
> >  
> >  static int
> > +qemuProcessVerifyCPU(virDomainObjPtr vm,
> > +                     virCPUDataPtr cpu)
> > +{
> > +    virDomainDefPtr def = vm->def;
> > +
> > +    if (!cpu)
> > +        return 0;
> > +
> > +    if (qemuProcessVerifyKVMFeatures(def, cpu) < 0 ||
> > +        qemuProcessVerifyHypervFeatures(def, cpu) < 0)
> > +        return -1;
> > +
> > +    if (!def->cpu ||
> > +        (def->cpu->mode == VIR_CPU_MODE_CUSTOM &&
> > +         !def->cpu->model))
> 
> This condition is now on two places, it would be worth to create a
> macro/function with some description why this specific condition.

Oh yeah, good idea. This condition is very likely repeated in a lot of
places which need to check whether the CPU def contains only topology
data. I'll try to come up with a good name for the function and make a
patch replacing all open coded conditions with it.

Jirka




More information about the libvir-list mailing list