I'm pleased to announce the availability of the Xen ocaml tools
repository. This contains for now, a fully rewritten version of xenstored,
which should be better than the C version available in the xen repository.
This is part of an effort to try to opensource some Citrix internals
things that the open-source community could use and/or find useful. As such
all the code in this repository are licensed under the LGPLv2 with ocaml
static exception as common in the ocaml world. Please see the LICENSE file.
= Improvements (compared to C xenstored)
* scalability: transactions have a much better behavior in this version
leading to significant improvements during aggressive use of xenstored
and preventing possible guest xenstored DoS.
* no disk database: everything is cheaply stored in memory.
* small code base in a functional language.
You need to have a built xen, and a working ocaml compiler (native and
bytecode). if you don't have xen installed in /, you need to set
your env XEN_DIST_ROOT to the xen dist path (on bourne shell
once you're there, typing make will build the binaries.
ocaml xenstored is a drop in replacement of C xenstored, replacing
/usr/sbin/xenstored by the ocaml one will just works.
You also need to copy xenstored.conf in the xenstored directory on the
destination at /etc/xen/.
Once you did that, you need to restart your host
(just like if you would want to restart C xenstored).
= Any problems
well, let us know, Thomas (CCed) and I, we'll be happy to help you solve
problems that may arise.