The QOM path will be needed by code which is querying the cpu flags via
'qom-get' and thus needs a valid QOM path to the vCPU.
Add it into the private data and transfer from the queried data.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
---
src/qemu/qemu_domain.c | 3 +++
src/qemu/qemu_domain.h | 2 ++
2 files changed, 5 insertions(+)
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 14b585c6e9..015f635dc8 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -821,6 +821,7 @@ qemuDomainVcpuPrivateDispose(void *obj)
g_free(priv->type);
g_free(priv->alias);
virJSONValueFree(priv->props);
+ g_free(priv->qomPath);
return;
}
@@ -9550,6 +9551,8 @@ qemuDomainRefreshVcpuInfo(virQEMUDriver *driver,
vcpupriv->props = g_steal_pointer(&info[i].props);
vcpupriv->enable_id = info[i].id;
vcpupriv->qemu_id = info[i].qemu_id;
+ g_free(vcpupriv->qomPath);
+ vcpupriv->qomPath = g_steal_pointer(&info[i].qom_path);
if (hotplug && state) {
vcpu->online = info[i].online;
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
index 78474b3f73..8bf1c91049 100644
--- a/src/qemu/qemu_domain.h
+++ b/src/qemu/qemu_domain.h
@@ -316,6 +316,8 @@ struct _qemuDomainVcpuPrivate {
int thread_id;
int node_id;
int vcpus;
+
+ char *qomPath;
};
#define QEMU_DOMAIN_VCPU_PRIVATE(vcpu) \
--
2.34.1