Jan Beulich
2012-Mar-02  09:25 UTC
[PATCH] xl block-detach: allow other than numeric-decimal specification of the disk
... to be in sync with block-attach.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/tools/libxl/libxl.c
+++ b/tools/libxl/libxl.c
@@ -1476,12 +1476,16 @@ static void libxl__device_disk_from_xs_b
 }
 
 int libxl_devid_to_device_disk(libxl_ctx *ctx, uint32_t domid,
-                               int devid, libxl_device_disk *disk)
+                               const char *dev, libxl_device_disk *disk)
 {
     GC_INIT(ctx);
     char *dompath, *path;
+    int devid = libxl__device_disk_dev_number(dev, NULL, NULL);
     int rc = ERROR_FAIL;
 
+    if (devid < 0)
+        return ERROR_INVAL;
+
     libxl_device_disk_init(disk);
 
     dompath = libxl__xs_get_dompath(gc, domid);
--- a/tools/libxl/libxl_utils.h
+++ b/tools/libxl/libxl_utils.h
@@ -61,7 +61,7 @@ int libxl_mac_to_device_nic(libxl_ctx *c
 int libxl_devid_to_device_nic(libxl_ctx *ctx, uint32_t domid, int devid,
                               libxl_device_nic *nic);
 
-int libxl_devid_to_device_disk(libxl_ctx *ctx, uint32_t domid, int devid,
+int libxl_devid_to_device_disk(libxl_ctx *ctx, uint32_t domid, const char *dev,
                                libxl_device_disk *disk);
 
 int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap);
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -4804,7 +4804,7 @@ int main_blockdetach(int argc, char **ar
         fprintf(stderr, "%s is an invalid domain identifier\n",
argv[optind]);
         return 1;
     }
-    if (libxl_devid_to_device_disk(ctx, domid, atoi(argv[optind+1]),
&disk)) {
+    if (libxl_devid_to_device_disk(ctx, domid, argv[optind+1], &disk)) {
         fprintf(stderr, "Error: Device %s not connected.\n",
argv[optind+1]);
         return 1;
     }
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
Ian Campbell
2012-Mar-02  09:44 UTC
Re: [PATCH] xl block-detach: allow other than numeric-decimal specification of the disk
On Fri, 2012-03-02 at 09:25 +0000, Jan Beulich wrote:> ... to be in sync with block-attach. > > Signed-off-by: Jan Beulich <jbeulich@suse.com>Acked-by: Ian Campbell <ian.campbell@citrix.com> Does docs/misc/xl.pod.1 need an update to reflect this? I''d be half tempted to s/libxl_devid_to_device_disk/libxl_vdev_to_device_disk/ since the function no longer takes a devid as such but I don''t think it''s critical.> --- a/tools/libxl/libxl.c > +++ b/tools/libxl/libxl.c > @@ -1476,12 +1476,16 @@ static void libxl__device_disk_from_xs_b > } > > int libxl_devid_to_device_disk(libxl_ctx *ctx, uint32_t domid, > - int devid, libxl_device_disk *disk) > + const char *dev, libxl_device_disk *disk) > { > GC_INIT(ctx); > char *dompath, *path; > + int devid = libxl__device_disk_dev_number(dev, NULL, NULL); > int rc = ERROR_FAIL; > > + if (devid < 0) > + return ERROR_INVAL; > + > libxl_device_disk_init(disk); > > dompath = libxl__xs_get_dompath(gc, domid); > --- a/tools/libxl/libxl_utils.h > +++ b/tools/libxl/libxl_utils.h > @@ -61,7 +61,7 @@ int libxl_mac_to_device_nic(libxl_ctx *c > int libxl_devid_to_device_nic(libxl_ctx *ctx, uint32_t domid, int devid, > libxl_device_nic *nic); > > -int libxl_devid_to_device_disk(libxl_ctx *ctx, uint32_t domid, int devid, > +int libxl_devid_to_device_disk(libxl_ctx *ctx, uint32_t domid, const char *dev, > libxl_device_disk *disk); > > int libxl_cpumap_alloc(libxl_ctx *ctx, libxl_cpumap *cpumap); > --- a/tools/libxl/xl_cmdimpl.c > +++ b/tools/libxl/xl_cmdimpl.c > @@ -4804,7 +4804,7 @@ int main_blockdetach(int argc, char **ar > fprintf(stderr, "%s is an invalid domain identifier\n", argv[optind]); > return 1; > } > - if (libxl_devid_to_device_disk(ctx, domid, atoi(argv[optind+1]), &disk)) { > + if (libxl_devid_to_device_disk(ctx, domid, argv[optind+1], &disk)) { > fprintf(stderr, "Error: Device %s not connected.\n", argv[optind+1]); > return 1; > } > > >
Jan Beulich
2012-Mar-06  10:55 UTC
Re: [PATCH] xl block-detach: allow other than numeric-decimal specification of the disk
>>> On 02.03.12 at 10:44, Ian Campbell <Ian.Campbell@citrix.com> wrote: > On Fri, 2012-03-02 at 09:25 +0000, Jan Beulich wrote: >> ... to be in sync with block-attach. >> >> Signed-off-by: Jan Beulich <jbeulich@suse.com> > > Acked-by: Ian Campbell <ian.campbell@citrix.com> > > Does docs/misc/xl.pod.1 need an update to reflect this?It already says "I<devid> may be the symbolic name or the numeric device id given to the device ...".> I''d be half tempted to > s/libxl_devid_to_device_disk/libxl_vdev_to_device_disk/ since the > function no longer takes a devid as such but I don''t think it''s > critical.Just done; will re-submit soon. Jan