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

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



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>
---
 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;
-- 
1.7.2.5


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