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 "<stdin>", 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 "<stdin>", line 1, in ?
AttributeError: get
>>> h.get("/foo.perms")
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AttributeError: get
Feedback welcome!
Rusty.
Mike
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|