From: Jim Fehlig Date: Thu, 16 Jun 2016 05:09:36 +0000 (-0600) Subject: xenconfig: fix conversion of to backendtype X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=e33cd67a9b51e8fcb4e084f40f500057b30b2786;p=libvirt.git xenconfig: fix conversion of to backendtype When converting domXML to xen xl.cfg, backendtype should not be emitted if is not specified. Moreover, should be converted to backendtype qdisk, similar to handling of in libxlMakeDisk() in libxl_conf.c. Prior to this change, connectDomainXMLToNative would produce incorrect xl.cfg when the input domXML contained domXML: virsh domxml-to-native xen-xl domXML disk = [ "format=raw,vdev=xvda,access=rw,backendtype=target=/image/file/path" ] xl create xl.cfg config parsing error in disk specification: unknown value for backendtype: near `target=/image/file/path' in `format=raw,vdev=xvda,access=rw,backendtype=target=/image/file/path' --- diff --git a/src/xenconfig/xen_xl.c b/src/xenconfig/xen_xl.c index 5879c66e8c..d524a8241b 100644 --- a/src/xenconfig/xen_xl.c +++ b/src/xenconfig/xen_xl.c @@ -857,13 +857,15 @@ xenFormatXLDisk(virConfValuePtr list, virDomainDiskDefPtr disk) } /* backendtype */ - virBufferAddLit(&buf, "backendtype="); - if (STREQ_NULLABLE(driver, "qemu")) - virBufferAddLit(&buf, "qdisk,"); - else if (STREQ_NULLABLE(driver, "tap")) - virBufferAddLit(&buf, "tap,"); - else if (STREQ_NULLABLE(driver, "phy")) - virBufferAddLit(&buf, "phy,"); + if (driver) { + virBufferAddLit(&buf, "backendtype="); + if (STREQ(driver, "qemu") || STREQ(driver, "file")) + virBufferAddLit(&buf, "qdisk,"); + else if (STREQ(driver, "tap")) + virBufferAddLit(&buf, "tap,"); + else if (STREQ(driver, "phy")) + virBufferAddLit(&buf, "phy,"); + } /* devtype */ if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM)