mirror of
https://github.com/libvirt/libvirt.git
synced 2026-10-02 12:20:06 -05:00
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:
1 parent
bbc7d1a2a0
commit
03d339dc03
1 file changed
+5
@@ -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) {
|
||||
|
||||
Reference in new issue
Block a user