[libvirt] [PATCH 1/8] libxl: Allow to undefine a running domain
Osier Yang
jyang at redhat.com
Fri Aug 19 13:55:12 UTC 2011
于 2011年08月19日 22:03, Osier Yang 写道:
> ---
> src/libxl/libxl_driver.c | 15 +++++++--------
> 1 files changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
> index 516148f..d6e0c28 100644
> --- a/src/libxl/libxl_driver.c
> +++ b/src/libxl/libxl_driver.c
> @@ -2802,12 +2802,6 @@ libxlDomainUndefineFlags(virDomainPtr dom,
> goto cleanup;
> }
>
> - if (virDomainObjIsActive(vm)) {
> - libxlError(VIR_ERR_OPERATION_INVALID,
> - "%s", _("cannot undefine active domain"));
> - goto cleanup;
> - }
> -
> if (!vm->persistent) {
> libxlError(VIR_ERR_OPERATION_INVALID,
> "%s", _("cannot undefine transient domain"));
> @@ -2841,8 +2835,13 @@ libxlDomainUndefineFlags(virDomainPtr dom,
> event = virDomainEventNewFromObj(vm, VIR_DOMAIN_EVENT_UNDEFINED,
> VIR_DOMAIN_EVENT_UNDEFINED_REMOVED);
>
> - virDomainRemoveInactive(&driver->domains, vm);
> - vm = NULL;
> + if (virDomainObjIsActive(vm)) {
> + vm->persistent = 0;
> + } else {
> + virDomainRemoveInactive(&driver->domains, vm);
> + vm = NULL;
> + }
> +
> ret = 0;
>
> cleanup:
Pushed the whole series, thanks for the quick reviewing, Eric.
Osier
More information about the libvir-list
mailing list