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 committed by Cole Robinson
parent 9963f590c1
commit d2aec1138f

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