Revert "xen: Allow to undefine a running domain (xm_internal)"

ACK was given too soon.  According to the code, the xm driver is
only used for inactive domains, and has no notion of an active
domain, thus, it cannot support undefine of a running domain.
The real fix for xen needs to be in the unified driver and/or
the xend level.

This reverts commit 49186deda6.
This commit is contained in:
Eric Blake 2011-08-19 08:19:34 -06:00
parent 49186deda6
commit ecc2735480

View File

@ -1218,6 +1218,8 @@ int xenXMDomainUndefine(virDomainPtr domain) {
return (-1);
}
if (domain->id != -1)
return (-1);
if (domain->conn->flags & VIR_CONNECT_RO)
return (-1);
@ -1233,17 +1235,13 @@ int xenXMDomainUndefine(virDomainPtr domain) {
if (unlink(entry->filename) < 0)
goto cleanup;
if (virDomainObjIsActive(vm)) {
vm->persistent = 0;
} else {
/* Remove the name -> filename mapping */
if (virHashRemoveEntry(priv->nameConfigMap, domain->name) < 0)
goto cleanup;
/* Remove the name -> filename mapping */
if (virHashRemoveEntry(priv->nameConfigMap, domain->name) < 0)
goto cleanup;
/* Remove the config record itself */
if (virHashRemoveEntry(priv->configCache, entry->filename) < 0)
goto cleanup;
}
/* Remove the config record itself */
if (virHashRemoveEntry(priv->configCache, entry->filename) < 0)
goto cleanup;
ret = 0;