mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: Clean up qemuDomainSetNumaParameters
Add whitespace to separate logical code blocks, reformat error messages and clean up code flow. This patch changes error handling in some cases where the the loop would be continued to jump to cleanup instead and error out rather than modify the domain any further.
This commit is contained in:
parent
cad3cf9a95
commit
8b573a6b0d
@ -8237,6 +8237,7 @@ qemuDomainSetNumaParameters(virDomainPtr dom,
|
|||||||
|
|
||||||
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
|
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
|
||||||
VIR_DOMAIN_AFFECT_CONFIG, -1);
|
VIR_DOMAIN_AFFECT_CONFIG, -1);
|
||||||
|
|
||||||
if (virTypedParamsValidate(params, nparams,
|
if (virTypedParamsValidate(params, nparams,
|
||||||
VIR_DOMAIN_NUMA_MODE,
|
VIR_DOMAIN_NUMA_MODE,
|
||||||
VIR_TYPED_PARAM_INT,
|
VIR_TYPED_PARAM_INT,
|
||||||
@ -8263,43 +8264,40 @@ qemuDomainSetNumaParameters(virDomainPtr dom,
|
|||||||
|
|
||||||
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
||||||
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET)) {
|
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET)) {
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
"%s", _("cgroup cpuset controller is not mounted"));
|
_("cgroup cpuset controller is not mounted"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = 0;
|
|
||||||
for (i = 0; i < nparams; i++) {
|
for (i = 0; i < nparams; i++) {
|
||||||
virTypedParameterPtr param = ¶ms[i];
|
virTypedParameterPtr param = ¶ms[i];
|
||||||
|
|
||||||
if (STREQ(param->field, VIR_DOMAIN_NUMA_MODE)) {
|
if (STREQ(param->field, VIR_DOMAIN_NUMA_MODE)) {
|
||||||
|
int mode = param->value.i;
|
||||||
|
|
||||||
if ((flags & VIR_DOMAIN_AFFECT_LIVE) &&
|
if ((flags & VIR_DOMAIN_AFFECT_LIVE) &&
|
||||||
vm->def->numatune.memory.mode != params[i].value.i) {
|
vm->def->numatune.memory.mode != mode) {
|
||||||
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
|
||||||
_("can't change numa mode for running domain"));
|
_("can't change numa mode for running domain"));
|
||||||
ret = -1;
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
|
if (flags & VIR_DOMAIN_AFFECT_CONFIG)
|
||||||
persistentDef->numatune.memory.mode = params[i].value.i;
|
persistentDef->numatune.memory.mode = mode;
|
||||||
}
|
|
||||||
} else if (STREQ(param->field, VIR_DOMAIN_NUMA_NODESET)) {
|
} else if (STREQ(param->field, VIR_DOMAIN_NUMA_NODESET)) {
|
||||||
virBitmapPtr nodeset = NULL;
|
virBitmapPtr nodeset = NULL;
|
||||||
|
|
||||||
if (virBitmapParse(params[i].value.s,
|
if (virBitmapParse(param->value.s, 0, &nodeset,
|
||||||
0, &nodeset,
|
|
||||||
VIR_DOMAIN_CPUMASK_LEN) < 0) {
|
VIR_DOMAIN_CPUMASK_LEN) < 0) {
|
||||||
ret = -1;
|
goto cleanup;
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
||||||
if (qemuDomainSetNumaParamsLive(vm, caps, nodeset) < 0) {
|
if (qemuDomainSetNumaParamsLive(vm, caps, nodeset) < 0) {
|
||||||
virBitmapFree(nodeset);
|
virBitmapFree(nodeset);
|
||||||
ret = -1;
|
goto cleanup;
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* update vm->def here so that dumpxml can read the new
|
/* update vm->def here so that dumpxml can read the new
|
||||||
@ -8328,9 +8326,11 @@ qemuDomainSetNumaParameters(virDomainPtr dom,
|
|||||||
persistentDef->numatune.memory.placement_mode =
|
persistentDef->numatune.memory.placement_mode =
|
||||||
VIR_NUMA_TUNE_MEM_PLACEMENT_MODE_AUTO;
|
VIR_NUMA_TUNE_MEM_PLACEMENT_MODE_AUTO;
|
||||||
if (virDomainSaveConfig(cfg->configDir, persistentDef) < 0)
|
if (virDomainSaveConfig(cfg->configDir, persistentDef) < 0)
|
||||||
ret = -1;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (vm)
|
if (vm)
|
||||||
virObjectUnlock(vm);
|
virObjectUnlock(vm);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user