[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] question about migration

Andrew Cooper writes ("Re: [Xen-devel] question about migration"):
> On 05/01/16 15:40, Ian Jackson wrote:
> > Would you like to prepare a patch ?
> I don't have a repro of the issue.  This thread was merely me triaging
> an issue reported by Wen, given some `git grep`.  (There are actually 3
> different bugs on different subthreads of this thread.)

I will do so then.

> >> In general however, no.  Consider a libxl user (such as a snapshotting
> >> utility) which asks a domain to suspend to quiesce the disks and then
> >> intends to resume the domain.
> >
> > Currently such a utility would have to use
> > libxl_evenable_domain_death to discover when the domain suspends, but
> > that would cause breakage as discussed in this thread.  So I think
> > such a utility would need a new libxl evenable interface.  Do you
> > agree ?
> This looks like a yakk.

It's a yak that someone would have to shave when they wanted to write
such a utility.

> Changing the behaviour of libxl_evenable_domain_death() will break the
> API and also break in-guest users.  It also doesn't return the shutdown
> code, so the caller can't loop while shutdown && suspend.

I don't understand what you mean.

Currently libxl_evenable_domain_death reports DOMAIN_SHUTDOWN and
provides the reason code.  But it only does so once, so when a domain
is migrated it triggers during the suspend-for-migrate and then
generates no further SHUTDOWN event.

So any code trying to use this for your snapshotting case is already
broken and cannot be fixed without introducing a new API (probably one
which generates separate suspend/unsuspend events).

(We can't have libxl_evenable_domain_death generate new unsuspend
events because existing callers won't understand.)

I therefore propose that:

libxl_evenable_domain_death should never generate DOMAIN_SHUTDOWN with
reason code suspended.  Instead, it should hope that the domain will
go back to running.  If the domain ends up shut down for some other
reason, or is destroyed, it should report those things.

In the future we introduce libxl_evenable_domain_state which generates
the existing events from libxl_evenable_domain_death but also two new


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.