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".
This commit is contained in:
Osier Yang 2012-04-17 22:57:01 +08:00
parent 79568df0f1
commit 74e772dd61

View File

@ -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;
}
}