mirror of
https://github.com/libvirt/libvirt.git
synced 2026-09-03 20:53:04 -05:00
qemu: hotplug: Properly emit "DEVICE_DELETED" event when unplugging memory
The event needs to be emitted after the last monitor call, so that it's not possible to find the device in the XML accidentally while the vm object is unlocked. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1414393
This commit is contained in:
@@ -3691,9 +3691,6 @@ qemuDomainRemoveMemoryDevice(virQEMUDriverPtr driver,
|
||||
VIR_DEBUG("Removing memory device %s from domain %p %s",
|
||||
mem->info.alias, vm, vm->def->name);
|
||||
|
||||
event = virDomainEventDeviceRemovedNewFromObj(vm, mem->info.alias);
|
||||
qemuDomainEventQueue(driver, event);
|
||||
|
||||
if (virAsprintf(&backendAlias, "mem%s", mem->info.alias) < 0)
|
||||
return -1;
|
||||
|
||||
@@ -3708,6 +3705,9 @@ qemuDomainRemoveMemoryDevice(virQEMUDriverPtr driver,
|
||||
if (rc < 0)
|
||||
return -1;
|
||||
|
||||
event = virDomainEventDeviceRemovedNewFromObj(vm, mem->info.alias);
|
||||
qemuDomainEventQueue(driver, event);
|
||||
|
||||
if ((idx = virDomainMemoryFindByDef(vm->def, mem)) >= 0)
|
||||
virDomainMemoryRemove(vm->def, idx);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user