|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH 7/24] [xen-unstable.hg] don't hard code xenstore/cons
This patch implements a way to determine in which domains the console
and xenstore daemons reside. If each of the files
/var/run/{console,xenstore}.did contains an integer, this integer is
interpreted as the domain id for that daemon. The default or fallback is
domid=0, of course. Here, xend is modified to use this mechanism for the
allocated unbound ports.
This patch also make XenDomainInfo use the resulting domids when creating
the xenstore and console channels for a new or resumed domain.
TODO: The patch xend_rename_xenstore_domain moves read_domid to a more
global location. If that patch is kept, this should just create a global
function directly.
A previous version of this patch was sent to xen-devel. See
http://lists.xensource.com/archives/html/xen-devel/2008-07/msg00610.html
Signed-off-by: Diego Ongaro <diego.ongaro@xxxxxxxxxx>
Signed-off-by: Alex Zeffertt <alex.zeffertt@xxxxxxxxxxxxx>
---
diff -r 277248efe8ae tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py Fri Aug 01 16:50:31 2008 +0100
+++ b/tools/python/xen/xend/XendDomainInfo.py Fri Aug 01 16:50:33 2008 +0100
@@ -2501,17 +2501,26 @@
def _createChannels(self):
"""Create the channels to the domain.
"""
- self.store_port = self._createChannel()
- self.console_port = self._createChannel()
+ def read_domid(service):
+ try:
+ f = open("/var/run/%s.did" % service)
+ try:
+ return int(f.read())
+ finally:
+ f.close()
+ except (IOError, ValueError):
+ return 0 # assume domain 0 is providing service
+ self.store_port = self._createChannel(read_domid("xenstore"))
+ self.console_port = self._createChannel(read_domid("console"))
- def _createChannel(self):
+ def _createChannel(self, remote_dom):
"""Create an event channel to the domain.
"""
try:
if self.domid != None:
return xc.evtchn_alloc_unbound(domid = self.domid,
- remote_dom = 0)
+ remote_dom = remote_dom)
except:
log.exception("Exception in alloc_unbound(%s)", str(self.domid))
raise
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [PATCH 7/24] [xen-unstable.hg] don't hard code xenstore/console domid when creating evtchns for new domU,
Alex Zeffertt <=
|
|
|
|
|