|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |