1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-20 07:59:00 +00:00

qemu: Use g_autoptr in qemuConnectCompareHypervisorCPU

Let's get rid of the only explicitly freed variable left in
qemuConnectCompareHypervisorCPU.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Jiri Denemark 2024-10-15 12:29:48 +02:00
parent 5475688a29
commit 1c45473b93

@ -11597,14 +11597,13 @@ qemuConnectCompareHypervisorCPU(virConnectPtr conn,
const char *xmlCPU, const char *xmlCPU,
unsigned int flags) unsigned int flags)
{ {
int ret = VIR_CPU_COMPARE_ERROR;
virQEMUDriver *driver = conn->privateData; virQEMUDriver *driver = conn->privateData;
g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver); g_autoptr(virQEMUDriverConfig) cfg = virQEMUDriverGetConfig(driver);
g_autoptr(virQEMUCaps) qemuCaps = NULL; g_autoptr(virQEMUCaps) qemuCaps = NULL;
bool failIncompatible; bool failIncompatible;
bool validateXML; bool validateXML;
virCPUDef *hvCPU; virCPUDef *hvCPU;
virCPUDef *cpu = NULL; g_autoptr(virCPUDef) cpu = NULL;
virArch arch; virArch arch;
virDomainVirtType virttype; virDomainVirtType virttype;
@ -11613,7 +11612,7 @@ qemuConnectCompareHypervisorCPU(virConnectPtr conn,
VIR_CPU_COMPARE_ERROR); VIR_CPU_COMPARE_ERROR);
if (virConnectCompareHypervisorCPUEnsureACL(conn) < 0) if (virConnectCompareHypervisorCPUEnsureACL(conn) < 0)
goto cleanup; return VIR_CPU_COMPARE_ERROR;
failIncompatible = !!(flags & VIR_CONNECT_COMPARE_CPU_FAIL_INCOMPATIBLE); failIncompatible = !!(flags & VIR_CONNECT_COMPARE_CPU_FAIL_INCOMPATIBLE);
validateXML = !!(flags & VIR_CONNECT_COMPARE_CPU_VALIDATE_XML); validateXML = !!(flags & VIR_CONNECT_COMPARE_CPU_VALIDATE_XML);
@ -11625,7 +11624,7 @@ qemuConnectCompareHypervisorCPU(virConnectPtr conn,
machine, machine,
&arch, &virttype, NULL); &arch, &virttype, NULL);
if (!qemuCaps) if (!qemuCaps)
goto cleanup; return VIR_CPU_COMPARE_ERROR;
hvCPU = virQEMUCapsGetHostModel(qemuCaps, virttype, hvCPU = virQEMUCapsGetHostModel(qemuCaps, virttype,
VIR_QEMU_CAPS_HOST_CPU_REPORTED); VIR_QEMU_CAPS_HOST_CPU_REPORTED);
@ -11635,17 +11634,19 @@ qemuConnectCompareHypervisorCPU(virConnectPtr conn,
_("QEMU '%1$s' does not support reporting CPU model for virttype '%2$s'"), _("QEMU '%1$s' does not support reporting CPU model for virttype '%2$s'"),
virQEMUCapsGetBinary(qemuCaps), virQEMUCapsGetBinary(qemuCaps),
virDomainVirtTypeToString(virttype)); virDomainVirtTypeToString(virttype));
goto cleanup; return VIR_CPU_COMPARE_ERROR;
} }
if (ARCH_IS_X86(arch)) { if (ARCH_IS_X86(arch)) {
ret = virCPUCompareXML(arch, hvCPU, xmlCPU, failIncompatible, return virCPUCompareXML(arch, hvCPU, xmlCPU, failIncompatible,
validateXML); validateXML);
} else if (ARCH_IS_S390(arch) && }
virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_COMPARISON)) {
if (ARCH_IS_S390(arch) &&
virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_COMPARISON)) {
if (virCPUDefParseXMLString(xmlCPU, VIR_CPU_TYPE_AUTO, &cpu, if (virCPUDefParseXMLString(xmlCPU, VIR_CPU_TYPE_AUTO, &cpu,
validateXML) < 0) validateXML) < 0)
goto cleanup; return VIR_CPU_COMPARE_ERROR;
if (!cpu->model) { if (!cpu->model) {
if (cpu->mode == VIR_CPU_MODE_HOST_PASSTHROUGH) { if (cpu->mode == VIR_CPU_MODE_HOST_PASSTHROUGH) {
@ -11655,21 +11656,18 @@ qemuConnectCompareHypervisorCPU(virConnectPtr conn,
} else { } else {
virReportError(VIR_ERR_INVALID_ARG, "%s", virReportError(VIR_ERR_INVALID_ARG, "%s",
_("cpu parameter is missing a model name")); _("cpu parameter is missing a model name"));
goto cleanup; return VIR_CPU_COMPARE_ERROR;
} }
} }
ret = qemuConnectCPUModelComparison(qemuCaps, cfg->libDir, return qemuConnectCPUModelComparison(qemuCaps, cfg->libDir,
cfg->user, cfg->group, cfg->user, cfg->group,
hvCPU, cpu, failIncompatible); hvCPU, cpu, failIncompatible);
} else {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
_("comparing with the hypervisor CPU is not supported for arch %1$s"),
virArchToString(arch));
} }
cleanup: virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
virCPUDefFree(cpu); _("comparing with the hypervisor CPU is not supported for arch %1$s"),
return ret; virArchToString(arch));
return VIR_CPU_COMPARE_ERROR;
} }