于 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list