提交 b4c3be59 编写于 作者: O Osier Yang

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.
上级 891c6fd7
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册