mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-22 12:35:17 +00:00
qemu: Refactor qemuDomainSetVcpusFlags
This patch changes a switch statement into ifs when handling live vs. configuration modifications getting rid of redundant code in case when both live and persistent configuration gets changed.
This commit is contained in:
parent
c0057d9a49
commit
e99ad93d02
@ -3463,8 +3463,12 @@ qemuDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (flags) {
|
if (flags & VIR_DOMAIN_AFFECT_LIVE) {
|
||||||
case VIR_DOMAIN_AFFECT_CONFIG:
|
if (qemudDomainHotplugVcpus(driver, vm, nvcpus) < 0)
|
||||||
|
goto endjob;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
|
||||||
if (maximum) {
|
if (maximum) {
|
||||||
persistentDef->maxvcpus = nvcpus;
|
persistentDef->maxvcpus = nvcpus;
|
||||||
if (nvcpus < persistentDef->vcpus)
|
if (nvcpus < persistentDef->vcpus)
|
||||||
@ -3472,24 +3476,12 @@ qemuDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
|
|||||||
} else {
|
} else {
|
||||||
persistentDef->vcpus = nvcpus;
|
persistentDef->vcpus = nvcpus;
|
||||||
}
|
}
|
||||||
ret = 0;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VIR_DOMAIN_AFFECT_LIVE:
|
if (virDomainSaveConfig(driver->configDir, persistentDef) < 0)
|
||||||
ret = qemudDomainHotplugVcpus(driver, vm, nvcpus);
|
goto endjob;
|
||||||
break;
|
|
||||||
|
|
||||||
case VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG:
|
|
||||||
ret = qemudDomainHotplugVcpus(driver, vm, nvcpus);
|
|
||||||
if (ret == 0) {
|
|
||||||
persistentDef->vcpus = nvcpus;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save the persistent config to disk */
|
ret = 0;
|
||||||
if (flags & VIR_DOMAIN_AFFECT_CONFIG)
|
|
||||||
ret = virDomainSaveConfig(driver->configDir, persistentDef);
|
|
||||||
|
|
||||||
endjob:
|
endjob:
|
||||||
if (qemuDomainObjEndJob(driver, vm) == 0)
|
if (qemuDomainObjEndJob(driver, vm) == 0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user