On Tue, Oct 15, 2019 at 05:34:41PM +0200, Jiri Denemark wrote:
Rather than returning a direct pointer the list stored in qemuCaps the function now creates a new copy of the CPU models list. The main purpose of this seemingly useless change is to update callers to free the result returned by virQEMUCapsGetCPUDefinitions because the internals of this function will change significantly in the following patches. Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> Reviewed-by: Ján Tomko <jtomko@xxxxxxxxxx> --- Notes: Version 2: - no change src/qemu/qemu_capabilities.c | 23 ++++++++++++++++++----- src/qemu/qemu_driver.c | 2 +- src/qemu/qemu_process.c | 7 +++++-- tests/cputest.c | 1 - 4 files changed, 24 insertions(+), 9 deletions(-)
Reviewed-by: Ján Tomko <jtomko@xxxxxxxxxx> with the following squashed in: diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index 264c7fc429..36500435fd 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -139,6 +139,8 @@ struct _virDomainCapsCPUModels { virDomainCapsCPUModelPtr models; }; +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainCapsCPUModels, virObjectUnref); + typedef struct _virDomainCapsCPU virDomainCapsCPU; typedef virDomainCapsCPU *virDomainCapsCPUPtr; struct _virDomainCapsCPU { diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index a875896a73..e1750751b4 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -3132,7 +3132,7 @@ virQEMUCapsInitCPUModelX86(virQEMUCapsPtr qemuCaps, virCPUDefPtr cpu, bool migratable) { - VIR_AUTOUNREF(virDomainCapsCPUModelsPtr) cpuModels = NULL; + g_autoptr(virDomainCapsCPUModels) cpuModels = NULL; virCPUDataPtr data = NULL; int ret = -1; @@ -3227,7 +3227,7 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps, if ((rc = virQEMUCapsInitCPUModel(qemuCaps, type, cpu, false)) < 0) { goto error; } else if (rc == 1) { - VIR_AUTOUNREF(virDomainCapsCPUModelsPtr) cpuModels = NULL; + g_autoptr(virDomainCapsCPUModels) cpuModels = NULL; VIR_DEBUG("No host CPU model info from QEMU; probing host CPU directly"); diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 78ba1f6f04..d95bf92cfd 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -13913,7 +13913,7 @@ qemuConnectBaselineHypervisorCPU(virConnectPtr conn, virQEMUCapsPtr qemuCaps = NULL; virArch arch; virDomainVirtType virttype; - VIR_AUTOUNREF(virDomainCapsCPUModelsPtr) cpuModels = NULL; + g_autoptr(virDomainCapsCPUModels) cpuModels = NULL; bool migratable; virCPUDefPtr cpu = NULL; char *cpustr = NULL; diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 539ab7ae33..9135a90a0d 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -6122,7 +6122,7 @@ qemuProcessUpdateGuestCPU(virDomainDefPtr def, /* nothing to update for host-passthrough */ if (def->cpu->mode != VIR_CPU_MODE_HOST_PASSTHROUGH) { - VIR_AUTOUNREF(virDomainCapsCPUModelsPtr) cpuModels = NULL; + g_autoptr(virDomainCapsCPUModels) cpuModels = NULL; if (def->cpu->check == VIR_CPU_CHECK_PARTIAL && virCPUCompare(caps->host.arch,
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list