[libvirt] [PATCH RFC] Add domainSave/Restore to libxl driver
Markus Groß
gross at univention.de
Wed May 25 07:16:54 UTC 2011
Am Dienstag 24 Mai 2011 06:06:08 schrieb Jim Fehlig:
> > +
> > + event = virDomainEventNewFromObj(vm, VIR_DOMAIN_EVENT_STOPPED,
> > + VIR_DOMAIN_EVENT_STOPPED_SAVED);
> > +
> > + if (libxlVmReap(driver, vm, 1, VIR_DOMAIN_SHUTOFF_SAVED) != 0) {
> > + libxlError(VIR_ERR_INTERNAL_ERROR,
> > + _("Failed to destroy domain '%d'"), dom->id);
> > + goto cleanup;
> > + }
> >
>
> And here call libxl_domain_destroy() directly instead of libxlVmReap(),
> allowing the event handler to cleanup the vm.
>
> Can you make these changes and ensure all the save/restore issues are
> resolved in your environment?
I made these changes but this leads to another issue.
When using the event handler to cleanup the domain
there seems to be a race condition.
The call to libxl_event_get_domain_death_info returns a value != 1
sometimes and the domain gets not cleaned up.
The latest version of the patch I posted in this thread earlier does
not have this issue as it cleans up the domain directly.
Maybe the every now and then fail of libxl_event_get_domain_death_info
is a result of a bug or unhandled race condition in Xen.
Cheers,
Markus
More information about the libvir-list
mailing list