From: Osier Yang Date: Fri, 19 Aug 2011 13:48:47 +0000 (+0800) Subject: openvz: Allow to undefine a running domain X-Git-Tag: v0.9.5-rc1~202 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ea92a34d1d7d681d9f25dc3348513889b28cbfb5;p=thirdparty%2Flibvirt.git openvz: Allow to undefine a running domain --- diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c index b9dc712056..69ff44436e 100644 --- a/src/openvz/openvz_driver.c +++ b/src/openvz/openvz_driver.c @@ -1132,19 +1132,18 @@ openvzDomainUndefineFlags(virDomainPtr dom, if (openvzGetVEStatus(vm, &status, NULL) == -1) goto cleanup; - if (status != VIR_DOMAIN_SHUTOFF) { - openvzError(VIR_ERR_OPERATION_INVALID, "%s", - _("cannot delete active domain")); - goto cleanup; - } - openvzSetProgramSentinal(prog, vm->def->name); if (virRun(prog, NULL) < 0) { goto cleanup; } - virDomainRemoveInactive(&driver->domains, vm); - vm = NULL; + if (virDomainObjIsActive(vm)) { + vm->persistent = 0; + } else { + virDomainRemoveInactive(&driver->domains, vm); + vm = NULL; + } + ret = 0; cleanup: