From d2aec1138f603a1ff0a83d85bdf6c96bbfddc7d1 Mon Sep 17 00:00:00 2001 From: Osier Yang Date: Tue, 17 Apr 2012 22:57:01 +0800 Subject: [PATCH] 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". --- src/conf/domain_conf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) 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; } } -- GitLab