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@xxxxxxxxxx> --- 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