Re: [PATCHv2 4/5] tests: Add test case for nvme-ns device configuration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Apr 27, 2025 at 19:48:06 +0800, honglei.wang@xxxxxxxxxx wrote:
> From: ray <honglei.wang@xxxxxxxxxx>
> 
> Signed-off-by: ray <honglei.wang@xxxxxxxxxx>
> ---
>  .../disk-nvme-ns-device.x86_64-latest.args         | 36 +++++++++++++++++++
>  .../disk-nvme-ns-device.x86_64-latest.xml          | 42 ++++++++++++++++++++++
>  tests/qemuxmlconfdata/disk-nvme-ns-device.xml      | 41 +++++++++++++++++++++
>  tests/qemuxmlconftest.c                            |  1 +
>  4 files changed, 120 insertions(+)
>  create mode 100644 tests/qemuxmlconfdata/disk-nvme-ns-device.x86_64-latest.args
>  create mode 100644 tests/qemuxmlconfdata/disk-nvme-ns-device.x86_64-latest.xml
>  create mode 100644 tests/qemuxmlconfdata/disk-nvme-ns-device.xml
> 
> diff --git a/tests/qemuxmlconfdata/disk-nvme-ns-device.x86_64-latest.args b/tests/qemuxmlconfdata/disk-nvme-ns-device.x86_64-latest.args
> new file mode 100644
> index 0000000000..d5971a4407
> --- /dev/null
> +++ b/tests/qemuxmlconfdata/disk-nvme-ns-device.x86_64-latest.args
> @@ -0,0 +1,36 @@

[...]

> +-device '{"driver":"nvme","id":"nvme0","serial":"nvme-controller-abcdef","bus":"pci.0","addr":"0x5"}' \
> +-blockdev '{"driver":"file","filename":"/tmp/data-1.img","node-name":"libvirt-1-storage","read-only":false}' \
> +-device '{"driver":"nvme-ns","bus":"nvme0","drive":"libvirt-1-storage","id":"nvme-ns0-0-0","bootindex":1}' \

Hmm, does bootindex even work here? Shouldn't the bootindex apply to the
controller instead?

[...]

> diff --git a/tests/qemuxmlconfdata/disk-nvme-ns-device.xml b/tests/qemuxmlconfdata/disk-nvme-ns-device.xml
> new file mode 100644
> index 0000000000..88bb5956e5
> --- /dev/null
> +++ b/tests/qemuxmlconfdata/disk-nvme-ns-device.xml
> @@ -0,0 +1,41 @@
> +<domain type='qemu'>
> +  <name>QEMUGuest1</name>
> +  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
> +  <memory unit='KiB'>219136</memory>
> +  <currentMemory unit='KiB'>219136</currentMemory>
> +  <vcpu placement='static'>1</vcpu>
> +  <os>
> +    <type arch='x86_64' machine='pc'>hvm</type>
> +    <boot dev='hd'/>
> +  </os>
> +  <cpu mode='custom' match='exact' check='none'>
> +    <model fallback='forbid'>qemu64</model>
> +  </cpu>
> +  <clock offset='utc'/>
> +  <on_poweroff>destroy</on_poweroff>
> +  <on_reboot>restart</on_reboot>
> +  <on_crash>destroy</on_crash>
> +  <devices>
> +    <emulator>/usr/bin/qemu-system-x86_64</emulator>
> +    <disk type='file' device='disk'>
> +      <source file='/tmp/data-1.img'/>
> +      <target dev='nvmensa' bus='nvme-ns'/>

So since the controller type is 'nvme' the value of 'bus' ought to be
'nvme' as well instead of 'nvme-ns'. Same way as we have with 'scsi'.

I also thing that the prefix of dev should be just 'nvme'. Note that the
dev prefix is a libvirt identifier which may (and in this case will not)
be same as in the guest.

Also since the controller supports multiple namespaces please add an
example which does so.


> +      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
> +    </disk>
> +    <controller type='usb' index='0' model='piix3-uhci'>
> +      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
> +    </controller>
> +    <controller type='pci' index='0' model='pci-root'/>
> +    <controller type='scsi' index='0' model='virtio-scsi'>
> +      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
> +    </controller>
> +      <controller type='nvme' index='0'>
> +      <serial>nvme-controller-abcdef</serial>

[1]

Indentation of the XML is incorrect here.

> +      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
> +    </controller>

Also since multiple nvme controllers are possible please add an example
without serial. As noted above at least one of the examples ought to
have multiple namespaces to show the setup.

> +    <input type='mouse' bus='ps2'/>
> +    <input type='keyboard' bus='ps2'/>
> +    <audio id='1' type='none'/>
> +    <memballoon model='none'/>
> +  </devices>
> +</domain>



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux