qemu: emit vcpu-removed event on unplug completion

Emit the vcpu-removed event when QEMU vCPU unplug completes.

Hook this into qemuDomainRemoveVcpu(), which covers both the
synchronous completion path and the DEVICE_DELETED-driven alias
removal path.

Some architectures may have multiple vcpus grouped under a single qemu
vcpu object; on those platforms a `vcpu-removed` event will be emitted
for each vcpu that is removed from this group.

Signed-off-by: Akash Kulhalli <akash.kulhalli@oracle.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Akash Kulhalli via Devel authored and Peter Krempa committed 2026-05-12 13:39:07 +02:00
1 parent bbc7d1a2a0
commit 03d339dc03
1 file changed
+5
+5
View File
@@ -6727,6 +6727,7 @@ qemuDomainRemoveVcpu(virDomainObj *vm,
unsigned int nvcpus = vcpupriv->vcpus;
size_t i;
ssize_t offlineVcpuWithTid = -1;
virObjectEvent *event = NULL;
if (qemuDomainRefreshVcpuInfo(vm, VIR_ASYNC_JOB_NONE, false) < 0)
return -1;
@@ -6744,6 +6745,10 @@ qemuDomainRemoveVcpu(virDomainObj *vm,
if (offlineVcpuWithTid == -1)
offlineVcpuWithTid = i;
}
/* fire the `vcpu-removed` event for each removed vcpu */
event = virDomainEventVcpuRemovedNewFromObj(vm, i);
virObjectEventStateQueue(priv->driver->domainEventState, event);
}
if (offlineVcpuWithTid != -1) {