On Wed, Oct 19, 2016 at 13:20:09 +0200, Peter Krempa wrote:
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.
Disregard this. I did not notice that 'target' is used to transfer the
string.
> goto cleanup;
>
> - virBufferAsprintf(&buf, "target=%s", target);
> + if (target) {
> + virBufferAsprintf(&buf, ",target=%s", target);
> + }
This fails syntax-check.
ACK if you make sure that you run syntax-check before pushing.