WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] Add an ioctl interface for simple xenstore acces

To: Anthony Liguori <aliguori@xxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] Add an ioctl interface for simple xenstore access
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Sat, 18 Mar 2006 19:32:06 +0000
Cc: Dan Smith <danms@xxxxxxxxxx>, Xen Developers <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Sat, 18 Mar 2006 19:35:29 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <441C4B20.4000202@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <87r750pupr.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxx> <20060318071405.GD23816@xxxxxxxxxxxxxxxxxxx> <01789afa761fc8e2b1f398148de7370c@xxxxxxxxxxxx> <441C4B20.4000202@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

On 18 Mar 2006, at 18:02, Anthony Liguori wrote:

We had discussed this in a previous thread and I thought you were okay with this approach. The /proc/xen/xenbus interface requires full parsing of the XenBus protocol. This requires libxenstore in domU. Today, libxenstore is shipped with the rest of the tools package on most distros. If one wants to write a Xen-aware application for a domU, that brings in a pretty large number of unnecessary dependencies. Also, for 32 bit management apps in a 64 bit environment, it makes things very nasty (should we build a 32 bit and 64 bit version of libxenstore? Is the protocol 32/64 bit safe?).

Ideally, an app could just use a simple interface to /proc/xen/xenbus to access XenStore. That solves all of the above problems elegantly. An ioctl() interface seemed like the most obvious approach that wouldn't break existing apps. Of course, any suggestion for a better interface would be appreciated.

Either way you're going to have an abstraction layer in your apps that hides the grotty details of how you access xenstore via /proc/xen/xenbus, whether it's via the read/write interface or via ioctls. That given, why not just statically link with libxenstore, or even include xs.h, xs.c and xs_lib.c in your applications? They're small, so no significant bloat, and LGPL, so no fear of GPL bleed into your management apps.

The protocol is 32/64-bit safe.

 -- Keir


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