On Thu, Aug 23, 2012 at 02:12:32PM +0800, Daniel Veillard wrote: > On Thu, Aug 23, 2012 at 10:31:12AM +0800, Hu Tao wrote: > > For emulator, the vcpuid field is always set to -1, instead of parsing > > XML for the value of it. > > > > --- > > src/conf/domain_conf.c | 22 ++++++++++++---------- > > 1 file changed, 12 insertions(+), 10 deletions(-) > > > > diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c > > index 7242205..419088c 100644 > > --- a/src/conf/domain_conf.c > > +++ b/src/conf/domain_conf.c > > @@ -7923,7 +7923,7 @@ virDomainVcpuPinDefParseXML(const xmlNodePtr node, > > { > > virDomainVcpuPinDefPtr def; > > xmlNodePtr oldnode = ctxt->node; > > - int vcpuid; > > + int vcpuid = -1; > > char *tmp = NULL; > > int ret; > > > > @@ -7934,15 +7934,17 @@ virDomainVcpuPinDefParseXML(const xmlNodePtr node, > > > > ctxt->node = node; > > > > - ret = virXPathInt("string(./@vcpu)", ctxt, &vcpuid); > > - if ((ret == -2) || (vcpuid < -1)) { > > - virReportError(VIR_ERR_INTERNAL_ERROR, > > - "%s", _("vcpu id must be an unsigned integer or -1")); > > - goto error; > > - } else if ((vcpuid == -1) && (emulator == 0)) { > > - virReportError(VIR_ERR_INTERNAL_ERROR, > > - "%s", _("vcpu id value -1 is not allowed for vcpupin")); > > - goto error; > > + if (emulator == 0) { > > + ret = virXPathInt("string(./@vcpu)", ctxt, &vcpuid); > > + if ((ret == -2) || (vcpuid < -1)) { > > + virReportError(VIR_ERR_INTERNAL_ERROR, > > + "%s", _("vcpu id must be an unsigned integer or -1")); > > + goto error; > > + } else if (vcpuid == -1) { > > + virReportError(VIR_ERR_INTERNAL_ERROR, > > + "%s", _("vcpu id value -1 is not allowed for vcpupin")); > > + goto error; > > + } > > } > > > > if (vcpuid >= maxvcpus) { > > Ah, right, I missed that part when I refactored that function ! > ACK, i'm pushing this now, Thank you! -- Thanks, Hu Tao -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list