[libvirt] [PATCH v2 05/31] qemu: Copy CPU models in virQEMUCapsGetCPUDefinitions
Ján Tomko
jtomko at redhat.com
Wed Oct 16 10:38:37 UTC 2019
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 at redhat.com>
>Reviewed-by: Ján Tomko <jtomko at redhat.com>
>---
>
>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 at redhat.com>
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,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20191016/6b82bba8/attachment-0001.sig>
More information about the libvir-list
mailing list