[libvirt] [PATCH] qemu: Do not support 'serial' scsi-block 'lun' devices

Michal Privoznik mprivozn at redhat.com
Mon Jun 15 10:05:22 UTC 2015


On 09.06.2015 22:54, John Ferlan wrote:
> https://bugzilla.redhat.com/show_bug.cgi?id=1021480
> 
> Seems the property has been deprecated for qemu, although seemingly ignored.
> 
> This patch enforces from a libvirt perspective that a scsi-block 'lun'
> device should not provide the 'serial' property.
> 
> Signed-off-by: John Ferlan <jferlan at redhat.com>
> ---
>  docs/formatdomain.html.in | 3 +++
>  src/qemu/qemu_command.c   | 7 +++++++
>  2 files changed, 10 insertions(+)
> 
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index 1781996..4eb907d 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -2502,6 +2502,9 @@
>        <dd>If present, this specify serial number of virtual hard drive.
>            For example, it may look
>            like <code><serial>WD-WMAP9A966149</serial></code>.
> +          Not supported for scsi-block devices, that is those using
> +          disk <code>type</code> 'block' using <code>device</code> 'lun'
> +          on <code>bus</code> 'scsi'.
>            <span class="since">Since 0.7.1</span>
>        </dd>
>        <dt><code>wwn</code></dt>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index 0a6d92f..cbea0d5 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -3731,6 +3731,13 @@ qemuBuildDriveStr(virConnectPtr conn,
>          virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_SERIAL)) {
>          if (qemuSafeSerialParamValue(disk->serial) < 0)
>              goto error;
> +        if (disk->bus == VIR_DOMAIN_DISK_BUS_SCSI &&
> +            disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) {
> +            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> +                           _("scsi-block 'lun' devices do not support the "
> +                             "serial property"));
> +            goto error;
> +        }
>          virBufferAddLit(&opt, ",serial=");
>          virBufferEscape(&opt, '\\', " ", "%s", disk->serial);
>      }
> 


ACK

Michal




More information about the libvir-list mailing list