[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] Linux/xencommons: Use oxenstored by default when available



# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1324061187 0
# Node ID a4bff36780a31a9b8d820671c907bd93411e5e26
# Parent  1452fb248cd513832cfbbd1100b9b72a0dde7ea6
Linux/xencommons: Use oxenstored by default when available

oxenstored is an ocaml implementation of the xenstore daemon. It is faster,
more scalable and more reliable than the C xenstored.

In particular the transaction model in oxenstored does not involve taking a
complete copy of the database and aborting on any (even non-conflicting) other
change.

There is a paper on the design and implementation of oxenstored at
http://gazagnaire.org/pub/GH09.pdf which includes a performance evaluation and
comparison with the C daemon etc.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---


diff -r 1452fb248cd5 -r a4bff36780a3 
tools/hotplug/Linux/init.d/sysconfig.xencommons
--- a/tools/hotplug/Linux/init.d/sysconfig.xencommons   Fri Dec 16 15:45:40 
2011 +0100
+++ b/tools/hotplug/Linux/init.d/sysconfig.xencommons   Fri Dec 16 18:46:27 
2011 +0000
@@ -1,6 +1,9 @@
 # Log xenconsoled messages (cf xl dmesg)
 #XENCONSOLED_TRACE=[none|guest|hv|all]
 
+# Select xenstored implementation
+#XENSTORED=[oxenstored|xenstored]
+
 # Log xenstored messages
 #XENSTORED_TRACE=[yes|on|1]
 
diff -r 1452fb248cd5 -r a4bff36780a3 tools/hotplug/Linux/init.d/xencommons
--- a/tools/hotplug/Linux/init.d/xencommons     Fri Dec 16 15:45:40 2011 +0100
+++ b/tools/hotplug/Linux/init.d/xencommons     Fri Dec 16 18:46:27 2011 +0000
@@ -65,8 +65,19 @@
                rm -f "$XENSTORED_ROOTDIR"/tdb* &>/dev/null
                test -z "$XENSTORED_TRACE" || XENSTORED_ARGS=" -T 
/var/log/xen/xenstored-trace.log"
 
-               echo -n Starting xenstored...
-               xenstored --pid-file=/var/run/xenstored.pid $XENSTORED_ARGS
+               if [ -n "$XENSTORED" ] ; then
+                   echo -n Starting $XENSTORED...
+                   $XENSTORED --pid-file /var/run/xenstored.pid $XENSTORED_ARGS
+               elif [ -x /usr/sbin/oxenstored ] ; then
+                   echo -n Starting oxenstored...
+                   /usr/sbin/oxenstored --pid-file /var/run/xenstored.pid 
$XENSTORED_ARGS
+               elif [ -x /usr/sbin/xenstored ] ; then
+                   echo -n Starting C xenstored...
+                   /usr/sbin/xenstored --pid-file /var/run/xenstored.pid 
$XENSTORED_ARGS
+               else
+                   echo "No xenstored found"
+                   exit 1
+               fi
 
                # Wait for xenstored to actually come up, timing out after 30 
seconds
                 while [ $time -lt $timeout ] && ! `xenstore-read -s / 
>/dev/null 2>&1` ; do

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.