On Sun, 5 Jun 2011, Marek Marczykowski wrote:
> # HG changeset patch
> # User Marek Marczykowski <marmarek@xxxxxxxxxxxx>
> # Date 1307145395 -7200
> # Node ID 70fc2a0f0a6003f1bf591cd941a841a9e6b69c01
> # Parent 0c0f9e1bd14073b5cb1d4f58b6950d16128003fa
> libxl: Do not SEGV when no 'removable' disk parameter in xenstore
>
> Just assume disk as not removable when no 'removable' paremeter
>
> Signed-off-by: Marek Marczykowski <marmarek@xxxxxxxxxxxx>
>
> diff -r 0c0f9e1bd140 -r 70fc2a0f0a60 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c Sat Jun 04 01:52:11 2011 +0200
> +++ b/tools/libxl/libxl.c Sat Jun 04 01:56:35 2011 +0200
> @@ -1563,6 +1563,7 @@ static unsigned int libxl__append_disk_l
> libxl__xs_get_dompath(gc, 0), type, domid);
> dir = libxl__xs_directory(gc, XBT_NULL, be_path, &n);
> if (dir) {
> + char *removable;
> *disks = realloc(*disks, sizeof (libxl_device_disk) * (*ndisks + n));
> pdisk = *disks + *ndisks;
> *ndisks += n;
> @@ -1581,6 +1582,11 @@ static unsigned int libxl__append_disk_l
> &(pdisk->backend));
> pdisk->vdev = xs_read(ctx->xsh, XBT_NULL, libxl__sprintf(gc,
> "%s/%s/dev", be_path, *dir), &len);
> pdisk->unpluggable = atoi(libxl__xs_read(gc, XBT_NULL,
> libxl__sprintf(gc, "%s/%s/removable", be_path, *dir)));
shouldn't you be removing this ^ line?
> + removable = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc,
> "%s/%s/removable", be_path, *dir));
> + if (removable)
> + pdisk->unpluggable = atoi(removable);
> + else
> + pdisk->unpluggable = 0;
> if (!strcmp(libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc,
> "%s/%s/mode", be_path, *dir)), "w"))
> pdisk->readwrite = 1;
> else
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|