[libvirt] [PATCHv2] xen: Also add sub-type for driver=tap2 in xen-xm

Philipp Hahn hahn at univention.de
Thu May 19 06:24:55 UTC 2016


tap2 only handles 'aio', but not 'raw', which must be explicitly given:

| $ virsh domxml-to-native yyy.xml > yyy.xm
| $ xm new yyy.xm
| Error: tap:/srv/xen/xxx.img not a valid disk type
| $ sed -i -e 's/tap2:/&aio:/' yyy.xm
| $ xm new yyy.xm

Fix reading and writing "xen-xm" format for "tap2" by handling it the
same as "tap".
---
 src/xenconfig/xen_xm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/xenconfig/xen_xm.c b/src/xenconfig/xen_xm.c
index 34d57de..1018e9b 100644
--- a/src/xenconfig/xen_xm.c
+++ b/src/xenconfig/xen_xm.c
@@ -196,7 +196,8 @@ xenParseXMDisk(virConfPtr conf, virDomainDefPtr def)
                 }
 
                 /* And the sub-type for tap:XXX: type */
-                if (STREQ_NULLABLE(virDomainDiskGetDriver(disk), "tap")) {
+                if (STREQ_NULLABLE(virDomainDiskGetDriver(disk), "tap") ||
+                    STREQ_NULLABLE(virDomainDiskGetDriver(disk), "tap2")) {
                     char *driverType;
 
                     if (!(tmp = strchr(src, ':')))
@@ -298,7 +299,7 @@ xenFormatXMDisk(virConfValuePtr list,
             else
                 type = virStorageFileFormatTypeToString(format);
             virBufferAsprintf(&buf, "%s:", driver);
-            if (STREQ(driver, "tap"))
+            if (STREQ(driver, "tap") || STREQ(driver, "tap2"))
                 virBufferAsprintf(&buf, "%s:", type);
         } else {
             switch (virDomainDiskGetType(disk)) {
-- 
2.1.4




More information about the libvir-list mailing list