提交 0f407570 编写于 作者: O Osier Yang

libxl: Allow to undefine a running domain.

Undefining a running domain will convert it to trasient, but keep
the domain still running.
上级 4ffa7530
...@@ -2802,12 +2802,6 @@ libxlDomainUndefineFlags(virDomainPtr dom, ...@@ -2802,12 +2802,6 @@ libxlDomainUndefineFlags(virDomainPtr dom,
goto cleanup; goto cleanup;
} }
if (virDomainObjIsActive(vm)) {
libxlError(VIR_ERR_OPERATION_INVALID,
"%s", _("cannot undefine active domain"));
goto cleanup;
}
if (!vm->persistent) { if (!vm->persistent) {
libxlError(VIR_ERR_OPERATION_INVALID, libxlError(VIR_ERR_OPERATION_INVALID,
"%s", _("cannot undefine transient domain")); "%s", _("cannot undefine transient domain"));
...@@ -2841,8 +2835,13 @@ libxlDomainUndefineFlags(virDomainPtr dom, ...@@ -2841,8 +2835,13 @@ libxlDomainUndefineFlags(virDomainPtr dom,
event = virDomainEventNewFromObj(vm, VIR_DOMAIN_EVENT_UNDEFINED, event = virDomainEventNewFromObj(vm, VIR_DOMAIN_EVENT_UNDEFINED,
VIR_DOMAIN_EVENT_UNDEFINED_REMOVED); VIR_DOMAIN_EVENT_UNDEFINED_REMOVED);
virDomainRemoveInactive(&driver->domains, vm); if (virDomainObjIsActive(vm)) {
vm = NULL; vm->persistent = 0;
} else {
virDomainRemoveInactive(&driver->domains, vm);
vm = NULL;
}
ret = 0; ret = 0;
cleanup: cleanup:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册