All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.