mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 11:35:19 +00:00
virDomainRestore: Don't keep transient domains around
So while working on my previous patches, I've noticed that virDomainRestore implementation in qemu and test drivers has the same problem as I am fixing. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
f41be29635
commit
a2ac63af0e
@ -6828,8 +6828,6 @@ qemuDomainRestoreFlags(virConnectPtr conn,
|
||||
VIR_WARN("Failed to close %s", path);
|
||||
|
||||
qemuDomainObjEndJob(driver, vm);
|
||||
if (ret < 0)
|
||||
qemuDomainRemoveInactive(driver, vm);
|
||||
|
||||
cleanup:
|
||||
virDomainDefFree(def);
|
||||
@ -6837,6 +6835,8 @@ qemuDomainRestoreFlags(virConnectPtr conn,
|
||||
VIR_FREE(xml);
|
||||
VIR_FREE(xmlout);
|
||||
virFileWrapperFdFree(wrapperFd);
|
||||
if (vm && ret < 0)
|
||||
qemuDomainRemoveInactive(driver, vm);
|
||||
virDomainObjEndAPI(&vm);
|
||||
virNWFilterUnlockFilterUpdates();
|
||||
return ret;
|
||||
|
@ -2132,8 +2132,13 @@ testDomainRestoreFlags(virConnectPtr conn,
|
||||
goto cleanup;
|
||||
def = NULL;
|
||||
|
||||
if (testDomainStartState(privconn, dom, VIR_DOMAIN_RUNNING_RESTORED) < 0)
|
||||
if (testDomainStartState(privconn, dom, VIR_DOMAIN_RUNNING_RESTORED) < 0) {
|
||||
if (!dom->persistent) {
|
||||
virDomainObjListRemove(privconn->domains, dom);
|
||||
dom = NULL;
|
||||
}
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
event = virDomainEventLifecycleNewFromObj(dom,
|
||||
VIR_DOMAIN_EVENT_STARTED,
|
||||
|
Loading…
Reference in New Issue
Block a user