[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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.