tests: Tests for io mode io_uring

Signed-off-by: Han Han <hhan@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Han Han 2020-04-21 20:19:37 +08:00 committed by Peter Krempa
parent 9bb39a2a88
commit 94eaba0aef
9 changed files with 270 additions and 0 deletions

View File

@ -1199,6 +1199,7 @@ mymain(void)
TEST_DISK_TO_JSON("dir-fat-floppy");
TEST_DISK_TO_JSON("file-raw-aio_native");
TEST_DISK_TO_JSON("file-backing_basic-aio_threads");
TEST_DISK_TO_JSON("file-backing_basic-aio_io_uring");
TEST_DISK_TO_JSON("file-raw-luks");
TEST_DISK_TO_JSON("file-qcow2-backing-chain-noopts");
TEST_DISK_TO_JSON("file-qcow2-backing-chain-unterminated");

View File

@ -0,0 +1,44 @@
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a"
}
backing store string:
/var/lib/libvirt/images/a
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b"
}
backing store string:
/var/lib/libvirt/images/b
)
(
source only properties:
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
]
}
backing store string:
gluster://test.org:24007/images/c
)
(
source only properties:
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d"
}
backing store string:
/var/lib/libvirt/images/d
)

View File

@ -0,0 +1,66 @@
{
"node-name": "node-a-f",
"read-only": false,
"driver": "qcow",
"file": "node-a-s",
"backing": "node-b-f"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/a",
"aio": "io_uring",
"node-name": "node-a-s",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "node-b-f",
"read-only": true,
"driver": "qed",
"file": "node-b-s",
"backing": "node-c-f"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/b",
"aio": "io_uring",
"node-name": "node-b-s",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "node-c-f",
"read-only": true,
"driver": "vmdk",
"file": "node-c-s",
"backing": "node-d-f"
}
{
"driver": "gluster",
"volume": "images",
"path": "c",
"server": [
{
"type": "inet",
"host": "test.org",
"port": "24007"
}
],
"node-name": "node-c-s",
"auto-read-only": true,
"discard": "unmap"
}
{
"node-name": "node-d-f",
"read-only": true,
"driver": "raw",
"file": "node-d-s"
}
{
"driver": "file",
"filename": "/var/lib/libvirt/images/d",
"aio": "io_uring",
"node-name": "node-d-s",
"auto-read-only": true,
"discard": "unmap"
}

View File

@ -0,0 +1,47 @@
<disk type='file' device='disk'>
<driver name='qemu' type='qcow' io='io_uring'/>
<source file='/var/lib/libvirt/images/a'>
<privateData>
<nodenames>
<nodename type='storage' name='node-a-s'/>
<nodename type='format' name='node-a-f'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='1'>
<format type='qed'/>
<source file='/var/lib/libvirt/images/b'>
<privateData>
<nodenames>
<nodename type='storage' name='node-b-s'/>
<nodename type='format' name='node-b-f'/>
</nodenames>
</privateData>
</source>
<backingStore type='network' index='2'>
<format type='vmdk'/>
<source protocol='gluster' name='images/c'>
<host name='test.org'/>
<privateData>
<nodenames>
<nodename type='storage' name='node-c-s'/>
<nodename type='format' name='node-c-f'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='3'>
<format type='raw'/>
<source file='/var/lib/libvirt/images/d'>
<privateData>
<nodenames>
<nodename type='storage' name='node-d-s'/>
<nodename type='format' name='node-d-f'/>
</nodenames>
</privateData>
</source>
<backingStore/>
</backingStore>
</backingStore>
</backingStore>
<target dev='vda'/>
</disk>

View File

@ -0,0 +1,41 @@
LC_ALL=C \
PATH=/bin \
HOME=/tmp/lib/domain--1-QEMUGuest1 \
USER=test \
LOGNAME=test \
XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
QEMU_AUDIO_DRV=none \
/usr/bin/qemu-system-x86_64 \
-name guest=QEMUGuest1,debug-threads=on \
-S \
-object secret,id=masterKey0,format=raw,\
file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
-machine pc,accel=tcg,usb=off,dump-guest-core=off \
-cpu qemu64 \
-m 214 \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
-display none \
-no-user-config \
-nodefaults \
-chardev socket,id=charmonitor,fd=1729,server,nowait \
-mon chardev=charmonitor,id=monitor,mode=control \
-rtc base=utc \
-no-shutdown \
-no-acpi \
-boot strict=on \
-device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
-blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1",\
"aio":"io_uring","node-name":"libvirt-1-storage","auto-read-only":true,\
"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2",\
"file":"libvirt-1-storage"}' \
-device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x9,drive=libvirt-1-format,\
id=virtio-disk0,bootindex=1 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,\
resourcecontrol=deny \
-msg timestamp=on

View File

@ -0,0 +1,30 @@
<domain type='qemu'>
<name>QEMUGuest1</name>
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
<memory unit='KiB'>219100</memory>
<currentMemory unit='KiB'>219100</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='pc'>hvm</type>
<boot dev='hd'/>
</os>
<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='block' device='disk'>
<driver name='qemu' type='qcow2' io='io_uring'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>
<controller type='usb' index='0'/>
<controller type='ide' index='0'/>
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<memballoon model='virtio'/>
</devices>
</domain>

View File

@ -1127,6 +1127,7 @@ mymain(void)
DO_TEST("disk-aio", NONE);
DO_TEST_CAPS_VER("disk-aio", "2.12.0");
DO_TEST_CAPS_LATEST("disk-aio");
DO_TEST_CAPS_LATEST("disk-aio-io_uring");
DO_TEST("disk-source-pool", NONE);
DO_TEST("disk-source-pool-mode", NONE);
DO_TEST("disk-ioeventfd",

View File

@ -0,0 +1,39 @@
<domain type='qemu'>
<name>QEMUGuest1</name>
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
<memory unit='KiB'>219100</memory>
<currentMemory unit='KiB'>219100</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='block' device='disk'>
<driver name='qemu' type='qcow2' io='io_uring'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>
<controller type='usb' index='0' model='piix3-uhci'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<controller type='pci' index='0' model='pci-root'/>
<input type='mouse' bus='ps2'/>
<input type='keyboard' bus='ps2'/>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</memballoon>
</devices>
</domain>

View File

@ -312,6 +312,7 @@ mymain(void)
DO_TEST("migrate", NONE);
DO_TEST("qemu-ns-no-env", NONE);
DO_TEST("disk-aio", NONE);
DO_TEST_CAPS_LATEST("disk-aio-io_uring");
DO_TEST("disk-cdrom", NONE);
DO_TEST_CAPS_LATEST("disk-cdrom-empty-network-invalid");
DO_TEST("disk-cdrom-bus-other", NONE);