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

Re: [Xen-devel] [PATCH 3/6] libxl: add an xs_transaction_t parameter to two libxl functions



On Tue, 2012-03-27 at 14:59 +0100, Stefano Stabellini wrote:
> Add an additional xs_transaction_t parameter to
> libxl__device_disk_from_xs_be and libxl__append_disk_list_of_type.
> 
> Update all the callers.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

> ---
>  tools/libxl/libxl.c |   26 ++++++++++++++------------
>  1 files changed, 14 insertions(+), 12 deletions(-)
> 
> diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
> index d33fbdf..ce5e7be 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -1432,6 +1432,7 @@ out:
>  }
>  
>  static void libxl__device_disk_from_xs_be(libxl__gc *gc,
> +                                          xs_transaction_t t,
>                                            const char *be_path,
>                                            libxl_device_disk *disk)
>  {
> @@ -1441,7 +1442,7 @@ static void libxl__device_disk_from_xs_be(libxl__gc *gc,
>  
>      libxl_device_disk_init(disk);
>  
> -    tmp = xs_read(ctx->xsh, XBT_NULL,
> +    tmp = xs_read(ctx->xsh, t,
>                    libxl__sprintf(gc, "%s/params", be_path), &len);
>      if (tmp && strchr(tmp, ':')) {
>          disk->pdev_path = strdup(strchr(tmp, ':') + 1);
> @@ -1450,12 +1451,12 @@ static void libxl__device_disk_from_xs_be(libxl__gc 
> *gc,
>          disk->pdev_path = tmp;
>      }
>      libxl_string_to_backend(ctx,
> -                        libxl__xs_read(gc, XBT_NULL,
> +                        libxl__xs_read(gc, t,
>                                         libxl__sprintf(gc, "%s/type", 
> be_path)),
>                          &(disk->backend));
> -    disk->vdev = xs_read(ctx->xsh, XBT_NULL,
> +    disk->vdev = xs_read(ctx->xsh, t,
>                           libxl__sprintf(gc, "%s/dev", be_path), &len);
> -    tmp = libxl__xs_read(gc, XBT_NULL, libxl__sprintf
> +    tmp = libxl__xs_read(gc, t, libxl__sprintf
>                           (gc, "%s/removable", be_path));
>  
>      if (tmp)
> @@ -1463,13 +1464,13 @@ static void libxl__device_disk_from_xs_be(libxl__gc 
> *gc,
>      else
>          disk->removable = 0;
>  
> -    tmp = libxl__xs_read(gc, XBT_NULL, libxl__sprintf(gc, "%s/mode", 
> be_path));
> +    tmp = libxl__xs_read(gc, t, libxl__sprintf(gc, "%s/mode", be_path));
>      if (!strcmp(tmp, "w"))
>          disk->readwrite = 1;
>      else
>          disk->readwrite = 0;
>  
> -    tmp = libxl__xs_read(gc, XBT_NULL,
> +    tmp = libxl__xs_read(gc, t,
>                           libxl__sprintf(gc, "%s/device-type", be_path));
>      disk->is_cdrom = !strcmp(tmp, "cdrom");
>  
> @@ -1499,7 +1500,7 @@ int libxl_vdev_to_device_disk(libxl_ctx *ctx, uint32_t 
> domid,
>      if (!path)
>          goto out;
>  
> -    libxl__device_disk_from_xs_be(gc, path, disk);
> +    libxl__device_disk_from_xs_be(gc, XBT_NULL, path, disk);
>  
>      rc = 0;
>  out:
> @@ -1510,6 +1511,7 @@ out:
>  
>  static int libxl__append_disk_list_of_type(libxl__gc *gc,
>                                             uint32_t domid,
> +                                           xs_transaction_t t,
>                                             const char *type,
>                                             libxl_device_disk **disks,
>                                             int *ndisks)
> @@ -1521,7 +1523,7 @@ static int libxl__append_disk_list_of_type(libxl__gc 
> *gc,
>  
>      be_path = libxl__sprintf(gc, "%s/backend/%s/%d",
>                               libxl__xs_get_dompath(gc, 0), type, domid);
> -    dir = libxl__xs_directory(gc, XBT_NULL, be_path, &n);
> +    dir = libxl__xs_directory(gc, t, be_path, &n);
>      if (dir) {
>          libxl_device_disk *tmp;
>          tmp = realloc(*disks, sizeof (libxl_device_disk) * (*ndisks + n));
> @@ -1534,7 +1536,7 @@ static int libxl__append_disk_list_of_type(libxl__gc 
> *gc,
>          for (; pdisk < pdisk_end; pdisk++, dir++) {
>              const char *p;
>              p = libxl__sprintf(gc, "%s/%s", be_path, *dir);
> -            libxl__device_disk_from_xs_be(gc, p, pdisk);
> +            libxl__device_disk_from_xs_be(gc, t, p, pdisk);
>              pdisk->backend_domid = 0;
>          }
>      }
> @@ -1549,13 +1551,13 @@ libxl_device_disk *libxl_device_disk_list(libxl_ctx 
> *ctx, uint32_t domid, int *n
>  
>      *num = 0;
>  
> -    rc = libxl__append_disk_list_of_type(gc, domid, "vbd", &disks, num);
> +    rc = libxl__append_disk_list_of_type(gc, domid, XBT_NULL, "vbd", &disks, 
> num);
>      if (rc) goto out_err;
>  
> -    rc = libxl__append_disk_list_of_type(gc, domid, "tap", &disks, num);
> +    rc = libxl__append_disk_list_of_type(gc, domid, XBT_NULL, "tap", &disks, 
> num);
>      if (rc) goto out_err;
>  
> -    rc = libxl__append_disk_list_of_type(gc, domid, "qdisk", &disks, num);
> +    rc = libxl__append_disk_list_of_type(gc, domid, XBT_NULL, "qdisk", 
> &disks, num);
>      if (rc) goto out_err;
>  
>      GC_FREE;



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