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

[Xen-changelog] [xen-unstable] libxl: Accept disk name in libxl_devid_to_device_disk



# HG changeset patch
# User Marek Marczykowski <marmarek@xxxxxxxxxxxx>
# Date 1309192028 -3600
# Node ID 5d7998be22520ca9b1c0c3e6f881ca834deda299
# Parent  6656d80b4de4c8c5e04ef4c9569fbaf71bcb9e6e
libxl: Accept disk name in libxl_devid_to_device_disk

Accept disk name in xl block-detach.

Signed-off-by: Marek Marczykowski <marmarek@xxxxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---


diff -r 6656d80b4de4 -r 5d7998be2252 tools/libxl/libxl_device.c
--- a/tools/libxl/libxl_device.c        Mon Jun 27 17:24:50 2011 +0100
+++ b/tools/libxl/libxl_device.c        Mon Jun 27 17:27:08 2011 +0100
@@ -198,7 +198,8 @@
     return 1;
 }
 
-int libxl__device_disk_dev_number(char *virtpath, int *pdisk, int *ppartition)
+int libxl__device_disk_dev_number(const char *virtpath, int *pdisk,
+                                  int *ppartition)
 {
     int disk, partition;
     char *ep;
diff -r 6656d80b4de4 -r 5d7998be2252 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h      Mon Jun 27 17:24:50 2011 +0100
+++ b/tools/libxl/libxl_internal.h      Mon Jun 27 17:27:08 2011 +0100
@@ -207,7 +207,7 @@
 _hidden char *libxl__device_disk_string_of_format(libxl_disk_format format);
 
 _hidden int libxl__device_physdisk_major_minor(const char *physpath, int 
*major, int *minor);
-_hidden int libxl__device_disk_dev_number(char *virtpath,
+_hidden int libxl__device_disk_dev_number(const char *virtpath,
                                           int *pdisk, int *ppartition);
 
 _hidden int libxl__device_console_add(libxl__gc *gc, uint32_t domid,
diff -r 6656d80b4de4 -r 5d7998be2252 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Mon Jun 27 17:24:50 2011 +0100
+++ b/tools/libxl/libxl_utils.c Mon Jun 27 17:27:08 2011 +0100
@@ -530,18 +530,18 @@
                                const char *devid, libxl_device_disk *disk)
 {
     libxl__gc gc = LIBXL_INIT_GC(ctx);
-    char *endptr, *val;
+    char *val;
     char *dompath, *diskpath, *be_path;
     unsigned int devid_n;
     int rc = ERROR_INVAL;
 
-    devid_n = strtoul(devid, &endptr, 10);
-    if (devid == endptr) {
+    devid_n = libxl__device_disk_dev_number(devid, NULL, NULL);
+    if (devid_n < 0) {
         goto out;
     }
     rc = ERROR_FAIL;
     dompath = libxl__xs_get_dompath(&gc, domid);
-    diskpath = libxl__sprintf(&gc, "%s/device/vbd/%s", dompath, devid);
+    diskpath = libxl__sprintf(&gc, "%s/device/vbd/%d", dompath, devid_n);
     if (!diskpath) {
         goto out;
     }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.