mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 06:05:27 +00:00
qemu: Fix detaching from persistent def in qemuDomainDetachDeviceAliasLiveAndConfig
The code that detaches the device from persistent definition copies the persistent definition first so that it can easily be rolled back. The actual detaching is then made in the copy which is assigned back on success (if the live operation succeeded as well). This is not the case in qemuDomainDetachDeviceAliasLiveAndConfig where the definition was copied and put back, but the detaching happened from the other object which was overwritten. Signed-off-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
234ce7d02f
commit
d7ca39e0fb
@ -8822,14 +8822,13 @@ qemuDomainDetachDeviceAliasLiveAndConfig(virQEMUDriverPtr driver,
|
|||||||
if (persistentDef) {
|
if (persistentDef) {
|
||||||
virDomainDeviceDef dev;
|
virDomainDeviceDef dev;
|
||||||
|
|
||||||
vmdef = virDomainObjCopyPersistentDef(vm, caps, driver->xmlopt);
|
if (!(vmdef = virDomainObjCopyPersistentDef(vm, caps, driver->xmlopt)))
|
||||||
if (!vmdef)
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virDomainDefFindDevice(persistentDef, alias, &dev, true) < 0)
|
if (virDomainDefFindDevice(vmdef, alias, &dev, true) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (qemuDomainDetachDeviceConfig(persistentDef, &dev, caps,
|
if (qemuDomainDetachDeviceConfig(vmdef, &dev, caps,
|
||||||
parse_flags, driver->xmlopt) < 0)
|
parse_flags, driver->xmlopt) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user