[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 2/2] libxl: fix libxl__device_disk_from_xs_be to parse backend domid



On Fri, 2013-09-06 at 12:36 +0200, Roger Pau Monne wrote:
> libxl__device_disk_from_xs_be was ignoring the backend domid, setting
> it to 0 by default. Fix this by parsing the backend disk path in order
> to fetch the backend domid.
> 
> This fixes the issue reported when trying to block-detach disks that
> have it's backend on a driver domain.
> 
> Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx>
> Reported-by: G.R. <firemeteor@xxxxxxxxxxxxxxxxxxxxx>
> Cc: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx>

It's a bit lame that there's no better way but this is indeed what
people (including frontends) do, so:
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

I'm pretty sure this can go in without patch 1/2 being in yet, but
please confirm.

> ---
>  tools/libxl/libxl.c |    7 +++++++
>  1 files changed, 7 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index 4aa2fe3..ada9d38 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -2232,9 +2232,16 @@ static int libxl__device_disk_from_xs_be(libxl__gc *gc,
>      libxl_ctx *ctx = libxl__gc_owner(gc);
>      unsigned int len;
>      char *tmp;
> +    int rc;
>  
>      libxl_device_disk_init(disk);
>  
> +    rc = sscanf(be_path, "/local/domain/%d/", &disk->backend_domid);
> +    if (rc != 1) {
> +        LOG(ERROR, "Unable to fetch device backend domid from %s", be_path);
> +        goto cleanup;
> +    }
> +
>      /* "params" may not be present; but everything else must be. */
>      tmp = xs_read(ctx->xsh, XBT_NULL,
>                    libxl__sprintf(gc, "%s/params", be_path), &len);



_______________________________________________
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®.