[libvirt] [PATCH] Pass syntax check for block devices to XenD.

Hiroyuki Kaguchi fj7025cf at aa.jp.fujitsu.com
Wed Jun 4 05:17:11 UTC 2008


Hi,

libvirt doesn't pass disk information that the device type isn't specified to
XenD and doesn't show the error message either.
However, the error message should be displayed, and XenD should show it.
On this account, I change libvirt that libvirt passes the disk information that
the device type isn't specified to XenD and XenD shows error message.

The related patch:
After Xen Cset17617, XenD check the syntax of the device type of the disk
information.

Thanks,
Signed-off-by: Hiroyuki Kaguchi <fj7025cf at aa.jp.fujitsu.com>

Index: src/xm_internal.c
===================================================================
RCS file: /data/cvs/libvirt/src/xm_internal.c,v
retrieving revision 1.79
diff -u -p -r1.79 xm_internal.c
--- src/xm_internal.c	29 May 2008 19:20:23 -0000	1.79
+++ src/xm_internal.c	3 Jun 2008 07:48:02 -0000
@@ -767,12 +767,10 @@ char *xenXMDomainFormatXML(virConnectPtr
             if (!src[0]) {
                 strcpy(drvName, "phy");
                 tmp = &src[0];
-            } else if (!(tmp = strchr(src, ':')) || !tmp[0]) {
-                    goto skipdisk;
-            } else {
-                strncpy(drvName, src, (tmp-src));
-                drvName[tmp-src] = '\0';
-            }
+            } else if (tmp = strchr(src, ':')) {
+                strncpy(drvName, src, (tmp-src));
+                drvName[tmp-src] = '\0';
+            }

             /* And the source driver sub-type */
             if (STRPREFIX(drvName, "tap")) {
@@ -782,7 +780,7 @@ char *xenXMDomainFormatXML(virConnectPtr
                 memmove(src, src+(tmp1-src)+1, strlen(src)-(tmp1-src));
             } else {
                 drvType[0] = '\0';
-                if (src[0])
+                if (src[0] && tmp)
                         memmove(src, src+(tmp-src)+1, strlen(src)-(tmp-src));
             }





More information about the libvir-list mailing list