mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-08 22:15:21 +00:00
conf: Assign newDef of active domain as persistent conf if it is NULL
Libvirt loads the domain conf from status XML if it's running when starting up. The problem is there is no record of the original conf. (dom->newDef is NULL here). So libvirt won't be able to restore the domain conf to original one when destroying/shutdown. E.g. 1) attach a device without "--persistent" 2) restart libvirtd 3) destroy domain 4) start domain One will see the the disk still exists. This patch is to fix the peoblem by assigning persistent domain conf to dom->newDef if it's NULL and the domain is running.
This commit is contained in:
parent
891c6fd74f
commit
b4c3be5943
@ -11092,9 +11092,15 @@ static virDomainObjPtr virDomainLoadConfig(virCapsPtr caps,
|
||||
if ((dom = virDomainFindByUUID(doms, def->uuid))) {
|
||||
dom->autostart = autostart;
|
||||
|
||||
if (virDomainObjIsActive(dom) &&
|
||||
!dom->newDef) {
|
||||
virDomainObjAssignDef(dom, def, false);
|
||||
} else {
|
||||
virDomainDefFree(def);
|
||||
}
|
||||
|
||||
VIR_FREE(configFile);
|
||||
VIR_FREE(autostartLink);
|
||||
virDomainDefFree(def);
|
||||
return dom;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user