[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/6] xen/hvm kexec: unregister shutdown+sysrq watches during reboot
On Thu, Jul 28, Keir Fraser wrote: > On 28/07/2011 15:07, "Olaf Hering" <olaf@xxxxxxxxx> wrote: > > > On Thu, Jul 28, Ian Campbell wrote: > > > >>> Are you suggesting that there have to be ways for a domU to query the > >>> state of its registered watches and shut them all down during very early > >>> boot? > >> > >> Perhaps the xenstore protocol could be enhanced with a mechanism to > >> clear all existing watches? A kernel could call that at start of day. > > > > I poked around in the xenstore sources, there is appearently nothing > > that can be used to shutdown all. Or would calling XS_RELEASE do the trick? > > XS_INTRODUCE Unfortunately do_introduce() is not preprared for that. On enter, conn->id contains the domain_id, so it errors out early. Later it compares domain->conn != conn and does not enter the correct path. If I remove both checks the kexec appears to work ok. Is it save to remove both checks? The only issue I havent figured out: How to get the domid from within the kernel? Olaf diff -r 42edf1481c57 tools/xenstore/xenstored_domain.c --- a/tools/xenstore/xenstored_domain.c +++ b/tools/xenstore/xenstored_domain.c @@ -326,7 +326,7 @@ void do_introduce(struct connection *con return; } - if (conn->id != 0 || !conn->can_write) { + if (!conn->can_write) { send_error(conn, EACCES); return; } @@ -365,7 +365,7 @@ void do_introduce(struct connection *con talloc_steal(domain->conn, domain); fire_watches(NULL, "@introduceDomain", false); - } else if ((domain->mfn == mfn) && (domain->conn != conn)) { + } else if (domain->mfn == mfn) { /* Use XS_INTRODUCE for recreating the xenbus event-channel. */ if (domain->port) xc_evtchn_unbind(xce_handle, domain->port); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |