From: Osier Yang Date: Tue, 17 Apr 2012 14:57:01 +0000 (+0800) Subject: conf: Do not parse cpuset only if the placement is auto X-Git-Tag: v0.9.12-rc1~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=74e772dd613b79fa452565342cf29d1e0cbc2268;p=thirdparty%2Flibvirt.git conf: Do not parse cpuset only if the placement is auto So that a domain xml which doesn't have "placement" specified, but "cpuset" is specified, could be parsed. And in this case, the "placement" mode will be set as "static". --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index b28ae5cae2..65a35c3eff 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -7896,11 +7896,10 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps, } VIR_FREE(tmp); } else { - if (def->cpumasklen) - def->placement_mode = VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC; + def->placement_mode = VIR_DOMAIN_CPU_PLACEMENT_MODE_DEFAULT; } - if (def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC) { + if (def->placement_mode != VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO) { tmp = virXPathString("string(./vcpu[1]/@cpuset)", ctxt); if (tmp) { char *set = tmp; @@ -7912,6 +7911,8 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps, def->cpumasklen) < 0) goto error; VIR_FREE(tmp); + if (def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_DEFAULT) + def->placement_mode = VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC; } }