From: Patrick Colp <pjcolp@cs.ubc.ca>
To: Diego Ongaro <diego.ongaro@citrix.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: OCaml xenstored
Date: Wed, 16 Jul 2008 13:07:57 -0700 [thread overview]
Message-ID: <487E551D.80000@cs.ubc.ca> (raw)
In-Reply-To: <487E3FAB.4050707@citrix.com>
[-- Attachment #1: Type: text/plain, Size: 2330 bytes --]
> I think you've overlooked to include a copyright statement or license.
Oops, thanks. Attached is the copyrighted and licensed version (GPL).
Just to make it clear, this is very much a work-in-progress and I've
also added a TODO file outlining what I'm working on now (or will be
soon). I posted before about some of the issues with the current
XenStore daemon implementation. Unfortunately, this initial version of
the OCaml daemon does not address most the concerns. However, it has
improved the performance as now the store is an in-memory tree rather
than a file-backed TDB.
The eventual goal is to have a safe and simple XenStore implementation
that can run either as a dom0 process or in its own domain. The main
issues I'm looking at fixing right now are transactions and supporting
modularised security policies.
I found something interesting while developing. The original protocol
specified that it is conventional that a node should not contain both
data and children. In the proposed cleaned up protocol, I specified that
this property should be enforced (not just conventional).
However, when I enforced it, I found that firing up xend would fail as
there was a node that tried to have both data and children. I had to add
a hack so that this would work. The guilty node is: /vm/image.
Here's an example dump of the vm subtree of XenStore just after xend has
been run:
vm = ""
00000000-0000-0000-0000-000000000000 = ""
on_xend_stop = "ignore"
shadow_memory = "0"
uuid = "00000000-0000-0000-0000-000000000000"
on_reboot = "restart"
image = "(linux (kernel ))"
ostype = "linux"
kernel = ""
cmdline = ""
ramdisk = ""
on_poweroff = "destroy"
on_xend_start = "ignore"
on_crash = "restart"
xend = ""
restart_count = "0"
vcpus = "2"
vcpu_avail = "3"
name = "Domain-0"
I'm not sure if this problem occurs anywhere else, but I think ideally
these would be fixed so that a node does in fact have only data or
children, and never both.
Patrick
Diego Ongaro wrote:
> Patrick Colp wrote:
>> I have completed my first version of said OCaml XenStore daemon, which
>> I've attached to this message. It contains the source files, Makefile,
>> and a README.
>
> I think you've overlooked to include a copyright statement or license.
> -Diego
[-- Attachment #2: xenstored-ocaml.tar.bz2 --]
[-- Type: application/x-bzip, Size: 27454 bytes --]
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2008-07-16 20:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-16 18:25 OCaml xenstored Patrick Colp
2008-07-16 18:32 ` Joshua West
2008-07-16 18:36 ` Diego Ongaro
2008-07-16 20:07 ` Patrick Colp [this message]
2008-07-18 14:39 ` Ian Jackson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=487E551D.80000@cs.ubc.ca \
--to=pjcolp@cs.ubc.ca \
--cc=diego.ongaro@citrix.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.