From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Wray Subject: Re: Xen Store Release Date: Fri, 13 May 2005 13:03:40 +0100 Message-ID: <4284979C.9080703@hp.com> References: <1115985395.20470.25.camel@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1115985395.20470.25.camel@localhost.localdomain> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Rusty Russell Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Rusty Russell wrote: > OK, a new version of the Xen Store daemon is up: > > rsync -av ozlabs.org::rusty/xenstore . > > This version has the first cut of an xs_introduce_domain() call for > tools to tell the daemon about new domains: the transport is a pair of > simple ringbuffers within a shared page, and an event channel for change > notifications. There's no xs_disconnect_domain() yet, but it's fairly > trivial to implement. > > The code has been tested in userspace: next step is to change the tools > to actually make the call (Mike and Anthony) and create a XenBus layer > to make it easy for drivers to talk to the Xen daemon (my next task). I've just written a Python module wrapping the xs client interface and checked it in to CVS on gandalf. I added a library target to xenstore for the Python module to link, and made it possible to configure the paths it uses from the env. The module is called 'xen.xs' and lives in xspy in CVS top-level for now. BTW, using it I came across this slightly weird behaviour: >>> import xen.xs >>> h = xen.xs.open() >>> h.write("/foo", "hello", create=1) Traceback (most recent call last): File "", line 1, in ? RuntimeError: (21, 'Is a directory') >>> h.ls("/") ['./', '../', 'foo/', '.perms', 'foo.perms'] Write to /foo failed beacuse it's a dir - expected. But listing / showed foo as expected, plus './', '../', '.perms', 'foo.perms'. The daemon should probably filter out '.', '..' and its internal '.perms' files from the results. >>> h.get("/.perms") Traceback (most recent call last): File "", line 1, in ? AttributeError: get >>> h.get("/foo.perms") Traceback (most recent call last): File "", line 1, in ? AttributeError: get > > Feedback welcome! > Rusty. Mike