[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libxl: stat the path for all non-qdisk backends (including unknown)
On 26/04/13 16:29, Ian Campbell wrote: > On Fri, 2013-04-26 at 15:17 +0100, Sylvain Munaut wrote: >>> Since the intention of that commit was to allow for qdisk backends with no >>> explicit file in dom0 (i.e. network remote backend such as ceph) the lowest >>> impact fix appears to be to make that explicit. This should probably be >>> revisited to rationalize the probing. >> >> What about the remote disk case of blktap ? blktap2.5 supports NBD >> already AFAIK >> and I'm pretty sure I'll hit that same stat issue soon for another >> remote blktap case. > > Right, sounds like I should have gone with my first instinct which was: > > 8<------------------------------------------------------------ > > From 884beff4a897d785f61705dcfa2f048536982d7c Mon Sep 17 00:00:00 2001 > From: Ian Campbell <ian.campbell@xxxxxxxxxx> > Date: Fri, 26 Apr 2013 12:41:43 +0100 > Subject: [PATCH] libxl: stat the path for all non-qdisk backends (including > unknown) > > The commit a8a1f236a296 "libxl: Only call stat() when adding a disk if we > expect a device to exist." changed things to only stat the file when the phy > backend was explicitly requested. This broke the case where we are probing and > would normally be able to decide on the phy option. > > Since the intention of that commit was to allow for backends with no explicit > file in dom0 (i.e. network remote backend such as ceph) the lowest impact fix > appears to be to make that explicit. It turns out that tap disk can also > potentially handle such paths. > > The only backend which requires a local file/device is PHY but we need to > handle UNKNOWN too in order for subsequent probing to work. Note that it is > not possible to autoprobe the backend if the path is not a local object, so we > don't need to worry about autoprobing ceph etc. > > This should probably be revisited to rationalize the probing. > > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> Acked-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx> > Cc: dave.scott@xxxxxxxxxx > Cc: george.dunlap@xxxxxxxxxx > Cc: roger.pau@xxxxxxxxxx > Cc: ian.jackson@xxxxxxxxxx > --- > tools/libxl/libxl_device.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c > index eb60fd5..a826ece 100644 > --- a/tools/libxl/libxl_device.c > +++ b/tools/libxl/libxl_device.c > @@ -236,7 +236,8 @@ int libxl__device_disk_set_backend(libxl__gc *gc, > libxl_device_disk *disk) { > return ERROR_INVAL; > } > memset(&a.stab, 0, sizeof(a.stab)); > - } else if (disk->backend == LIBXL_DISK_BACKEND_PHY && > + } else if ((disk->backend == LIBXL_DISK_BACKEND_UNKNOWN || > + disk->backend == LIBXL_DISK_BACKEND_PHY) && > disk->backend_domid == LIBXL_TOOLSTACK_DOMID && > !disk->script) { > if (stat(disk->pdev_path, &a.stab)) { > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |