On Wed, Oct 19, 2016 at 12:10:00 +0200, Cédric Bosdonnat wrote:
When converting a domain xml containing a CDROM device without
any attached source, don't add a target=(null) to the libxl config
disk definition: xen doesn't like it at all and would fail to start
the domain.
---
src/xenconfig/xen_xl.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/xenconfig/xen_xl.c b/src/xenconfig/xen_xl.c
index a06983e..db8cbf1 100644
--- a/src/xenconfig/xen_xl.c
+++ b/src/xenconfig/xen_xl.c
@@ -1068,7 +1068,7 @@ xenFormatXLDisk(virConfValuePtr list, virDomainDiskDefPtr disk)
/* devtype */
if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM)
- virBufferAddLit(&buf, "devtype=cdrom,");
+ virBufferAddLit(&buf, "devtype=cdrom");
This ...
/*
* target
@@ -1081,7 +1081,9 @@ xenFormatXLDisk(virConfValuePtr list, virDomainDiskDefPtr disk)
if (xenFormatXLDiskSrc(disk->src, &target) < 0)
... would drop the comma leading the disk source in cases when the CDROM
is actually full.
goto cleanup;
- virBufferAsprintf(&buf, "target=%s", target);
+ if (target) {
+ virBufferAsprintf(&buf, ",target=%s", target);
+ }
This fails syntax-check.