From: Peter Krempa Date: Fri, 3 Mar 2023 08:59:16 +0000 (+0100) Subject: qemu: domain: Restructure control flow in qemuDomainFixupCPUs X-Git-Tag: v9.2.0-rc1~171 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9c627dc7623d7d3cd0ab7e13e7ee310b640878cc;p=thirdparty%2Flibvirt.git qemu: domain: Restructure control flow in qemuDomainFixupCPUs Do the two fixups of CPU as one block and split up the return value checks to separate conditions. This will make the upcoming refactors simpler. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index e5768875ba..a7bffe1bc2 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -10802,8 +10802,6 @@ int qemuDomainFixupCPUs(virDomainObj *vm, virCPUDef **origCPU) { - g_autoptr(virCPUDef) fixedCPU = NULL; - g_autoptr(virCPUDef) fixedOrig = NULL; virArch arch = vm->def->os.arch; if (!ARCH_IS_X86(arch)) @@ -10821,24 +10819,30 @@ qemuDomainFixupCPUs(virDomainObj *vm, if (!*origCPU) return 0; - if (virCPUDefFindFeature(vm->def->cpu, "cmt") && - (!(fixedCPU = virCPUDefCopyWithoutModel(vm->def->cpu)) || - virCPUDefCopyModelFilter(fixedCPU, vm->def->cpu, false, - virQEMUCapsCPUFilterFeatures, &arch) < 0)) - return -1; + if (virCPUDefFindFeature(vm->def->cpu, "cmt")) { + g_autoptr(virCPUDef) fixedCPU = virCPUDefCopyWithoutModel(vm->def->cpu); - if (virCPUDefFindFeature(*origCPU, "cmt") && - (!(fixedOrig = virCPUDefCopyWithoutModel(*origCPU)) || - virCPUDefCopyModelFilter(fixedOrig, *origCPU, false, - virQEMUCapsCPUFilterFeatures, &arch) < 0)) - return -1; + if (!fixedCPU) + return -1; + + if (virCPUDefCopyModelFilter(fixedCPU, vm->def->cpu, false, + virQEMUCapsCPUFilterFeatures, &arch) < 0) + return -1; - if (fixedCPU) { virCPUDefFree(vm->def->cpu); vm->def->cpu = g_steal_pointer(&fixedCPU); } - if (fixedOrig) { + if (virCPUDefFindFeature(*origCPU, "cmt")) { + g_autoptr(virCPUDef) fixedOrig = virCPUDefCopyWithoutModel(*origCPU); + + if (!fixedOrig) + return -1; + + if (virCPUDefCopyModelFilter(fixedOrig, *origCPU, false, + virQEMUCapsCPUFilterFeatures, &arch) < 0) + return -1; + virCPUDefFree(*origCPU); *origCPU = g_steal_pointer(&fixedOrig); }