[libvirt] [PATCHv3 2/4] VMX: Add cdrom-raw dev type from VMWare Fusion

Michal Privoznik mprivozn at redhat.com
Thu Aug 29 10:19:04 UTC 2013


On 28.08.2013 23:53, Doug Goldstein wrote:
> According to VMWare's documentation 'cdrom-raw' is an acceptable value
> for deviceType for a CD-ROM drive. The documentation states that the VMX
> configuration for a CD-ROM deviceType is as follows:
> 
> ide|scsi(n):(n).deviceType = "cdrom-raw|atapi-cdrom|cdrom-image"
> 
>>From the documentation it appears the following is true:

s/>//

> - cdrom-image = Provides the ISO to the VM
> - atapi-cdrom = Provides a NEC emulated ATAPI CD-ROM on top of the host
>   CD-ROM
> - cdrom-raw = Passthru for a host CD-ROM drive. Allows CD-R burning from
>   within the guest.
> 
> A CD-ROM prior to this patch would always provide an 'atapi-cdrom' is
> modeled as:
>   <disk type='block' device='cdrom'>
>     <source dev='/dev/scd0'/>
>     <target dev='hda' bus='ide'/>
>     <address type='drive' controller='0' bus='0' target='0' unit='0'/>
>   </disk>
> 
> This patch allows the 'device' attribute to be set to 'lun' for a raw
> acccess CD-ROM such as:
>   <disk type='block' device='lun'>
>     <source dev='/dev/scd0'/>
>     <target dev='hda' bus='ide'/>
>     <address type='drive' controller='0' bus='0' target='0' unit='0'/>
>   </disk>
> ---
>  docs/formatdomain.html.in                          |  3 +--
>  src/vmx/vmx.c                                      | 24 +++++++++++++++-------
>  tests/vmx2xmldata/vmx2xml-cdrom-ide-raw-device.vmx |  5 +++++
>  tests/vmx2xmldata/vmx2xml-cdrom-ide-raw-device.xml | 24 ++++++++++++++++++++++
>  .../vmx2xmldata/vmx2xml-cdrom-scsi-raw-device.vmx  |  6 ++++++
>  .../vmx2xmldata/vmx2xml-cdrom-scsi-raw-device.xml  | 24 ++++++++++++++++++++++
>  tests/vmx2xmltest.c                                |  2 ++
>  tests/xml2vmxdata/xml2vmx-cdrom-ide-raw-device.vmx | 13 ++++++++++++
>  tests/xml2vmxdata/xml2vmx-cdrom-ide-raw-device.xml | 14 +++++++++++++
>  .../xml2vmxdata/xml2vmx-cdrom-scsi-raw-device.vmx  | 14 +++++++++++++
>  .../xml2vmxdata/xml2vmx-cdrom-scsi-raw-device.xml  | 14 +++++++++++++
>  tests/xml2vmxtest.c                                |  2 ++
>  12 files changed, 136 insertions(+), 9 deletions(-)
>  create mode 100644 tests/vmx2xmldata/vmx2xml-cdrom-ide-raw-device.vmx
>  create mode 100644 tests/vmx2xmldata/vmx2xml-cdrom-ide-raw-device.xml
>  create mode 100644 tests/vmx2xmldata/vmx2xml-cdrom-scsi-raw-device.vmx
>  create mode 100644 tests/vmx2xmldata/vmx2xml-cdrom-scsi-raw-device.xml
>  create mode 100644 tests/xml2vmxdata/xml2vmx-cdrom-ide-raw-device.vmx
>  create mode 100644 tests/xml2vmxdata/xml2vmx-cdrom-ide-raw-device.xml
>  create mode 100644 tests/xml2vmxdata/xml2vmx-cdrom-scsi-raw-device.vmx
>  create mode 100644 tests/xml2vmxdata/xml2vmx-cdrom-scsi-raw-device.xml
> 
> diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
> index cce179d..b7a5c12 100644
> --- a/docs/formatdomain.html.in
> +++ b/docs/formatdomain.html.in
> @@ -1597,8 +1597,7 @@
>              defaulting to "disk".
>              <p>
>              Using "lun" (<span class="since">since 0.9.10</span>) is only
> -            valid when type is "block" and the target element's "bus"
> -            attribute is "virtio", and behaves identically to "disk",
> +            valid when type is "block", and behaves identically to "disk",
>              except that generic SCSI commands from the guest are accepted
>              and passed through to the physical device. Also note that
>              device='lun' will only be recognized for actual raw devices,
> diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
> index f5cb9fe..bcbb997 100644
> --- a/src/vmx/vmx.c
> +++ b/src/vmx/vmx.c
> @@ -1936,7 +1936,7 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virConfPtr con
>                  virDomainDiskDefPtr *def)
>  {
>      /*
> -     *          device = {VIR_DOMAIN_DISK_DEVICE_DISK, VIR_DOMAIN_DISK_DEVICE_CDROM}
> +     *          device = {VIR_DOMAIN_DISK_DEVICE_DISK, VIR_DOMAIN_DISK_DEVICE_CDROM, VIR_DOMAIN_DISK_DEVICE_LUN}

Very long line.

ACK with those two nits fixed.

Michal




More information about the libvir-list mailing list