[libvirt] [PATCH v1 4/4] bhyve: add tests for SATA address allocation

Laine Stump laine at laine.org
Wed Jan 25 15:59:34 UTC 2017


On 01/05/2017 09:46 AM, Roman Bogorodskiy wrote:
> ---
>   ...bhyvexml2argv-addr-more-than-32-sata-disks.args |  21 ++
>   ...yvexml2argv-addr-more-than-32-sata-disks.ldargs |   3 +
>   .../bhyvexml2argv-addr-more-than-32-sata-disks.xml | 196 ++++++++++++++++
>   .../bhyvexml2argv-addr-multiple-sata-disks.args    |   9 +
>   .../bhyvexml2argv-addr-multiple-sata-disks.ldargs  |   3 +
>   .../bhyvexml2argv-addr-multiple-sata-disks.xml     |  31 +++
>   ...2argv-addr-no32devs-more-than-32-sata-disks.xml | 196 ++++++++++++++++
>   ...xml2argv-addr-no32devs-multiple-sata-disks.args |  11 +
>   ...l2argv-addr-no32devs-multiple-sata-disks.ldargs |   3 +
>   ...exml2argv-addr-no32devs-multiple-sata-disks.xml |  31 +++
>   ...yvexml2argv-addr-no32devs-single-sata-disk.args |   9 +
>   ...exml2argv-addr-no32devs-single-sata-disk.ldargs |   3 +
>   ...hyvexml2argv-addr-no32devs-single-sata-disk.xml |  21 ++
>   .../bhyvexml2argv-addr-single-sata-disk.args       |   9 +
>   .../bhyvexml2argv-addr-single-sata-disk.ldargs     |   3 +
>   .../bhyvexml2argv-addr-single-sata-disk.xml        |  21 ++
>   .../bhyvexml2argv-serial-grub-nocons.args          |   2 +-
>   tests/bhyvexml2argvtest.c                          |  20 +-
>   ...hyvexml2xmlout-addr-more-than-32-sata-disks.xml | 246 +++++++++++++++++++++
>   .../bhyvexml2xmlout-addr-multiple-sata-disks.xml   |  45 ++++
>   ...ml2xmlout-addr-no32devs-multiple-sata-disks.xml |  51 +++++
>   ...vexml2xmlout-addr-no32devs-single-sata-disk.xml |  33 +++
>   .../bhyvexml2xmlout-addr-single-sata-disk.xml      |  33 +++
>   tests/bhyvexml2xmltest.c                           |  37 +++-
>   24 files changed, 1030 insertions(+), 7 deletions(-)
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-more-than-32-sata-disks.args
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-more-than-32-sata-disks.ldargs
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-more-than-32-sata-disks.xml
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-multiple-sata-disks.args
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-multiple-sata-disks.ldargs
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-multiple-sata-disks.xml
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-more-than-32-sata-disks.xml
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-multiple-sata-disks.args
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-multiple-sata-disks.ldargs
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-multiple-sata-disks.xml
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-single-sata-disk.args
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-single-sata-disk.ldargs
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-no32devs-single-sata-disk.xml
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-single-sata-disk.args
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-single-sata-disk.ldargs
>   create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-addr-single-sata-disk.xml
>   create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-more-than-32-sata-disks.xml
>   create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-multiple-sata-disks.xml
>   create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-no32devs-multiple-sata-disks.xml
>   create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-no32devs-single-sata-disk.xml
>   create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-addr-single-sata-disk.xml
>

ACK.

[...]

> +    <disk type='file' device='disk'>
> +      <driver name='file' type='raw'/>
> +      <source file='/tmp/freebsd29.img'/>
> +      <target dev='hdae' bus='sata'/>
> +      <address type='drive' controller='0' bus='0' target='0' unit='30'/>
> +    </disk>

It's a pre-existing condition, but it has always bothered me that we 
require the target dev attribute, but it is never used for anything on 
qemu, and apparently on bhyve as well (if I recall correctly, it *is* 
used on lxc and xen). More bothersome is that it can lead people to 
believe that they *can* set the name of the device in the guest when 
actually they can't - it isn't even a *suggestion*, but completely 
ignored (similar to how the "bus" attribute of a PCI address misleads 
some people into believing they can set the bus number for a PCI 
controller, when in reality it's just used internally by libvirt to 
associate a device with a controller)




More information about the libvir-list mailing list