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] xl create should refuse to share block devices RW betwee

To: Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] xl create should refuse to share block devices RW between domains
From: Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>
Date: Tue, 27 Jul 2010 11:55:06 +0100
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, Xen-devel@xxxxxxxxxxxxxxxxxxx, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>, Daniel Stodden <Daniel.Stodden@xxxxxxxxxx>
Delivery-date: Tue, 27 Jul 2010 03:56:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <alpine.DEB.2.00.1007271115430.19809@kaball-desktop>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Citrix Systems, Inc.
References: <4C4E2A06.9070604@xxxxxxxx> <1280218738.5872.8148.camel@xxxxxxxxxxxxxxxxxxxxxx> <alpine.DEB.2.00.1007271115430.19809@kaball-desktop>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Tue, 2010-07-27 at 11:40 +0100, Stefano Stabellini wrote:
> On Tue, 27 Jul 2010, Ian Campbell wrote:
> > On Tue, 2010-07-27 at 01:36 +0100, Jeremy Fitzhardinge wrote:
> > > When creating a domain, "xl create" should fail if a block device is 
> > > shared RW between domains, like xm create does.
> > > 
> > > I'm not sure how this would be implemented.  Search xenstore for 
> > > references to the device when setting up a domain?
> > 
> > The hotplug scripts have locking and calls to a function called 
> > "check_device_sharing" in them, I've been wondering why that wasn't
> > kicking in for xl created domains for a little while but never got to
> > investigating.
> > 
>  
> those scripts are called by udev and theoretically should work
> exactly the same way with xend or libxl.
> I didn't test this but I believe that since libxl always uses blktap2,
> the script called is block and the codepath taken is the following:
> 
>     phys=$(xenstore_read_default "$XENBUS_PATH/physical-device" 'MISSING')
>     if [ "$phys" != 'MISSING' ]
>     then
>       # Depending upon the hotplug configuration, it is possible for this
>       # script to be called twice, so just bail.
>       exit 0
>     fi
> 
> so we never do any checks.

...and in any case physical-device would be a unique /dev/xen/tapdisk-N
path, regardless of any sharing of the files tapdisk is backing onto so
it is rather hard to check for sharing at this level anyway.

> I also think that tap_ctl_create is the right place to do these checks,
> not a script called by udev after the device has been created.

Agreed. tapdisk should be taking out a flock() or something similar on
any vhd files it is going to write to and should fail if it can't lock
the file.

Ian.


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