aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2010-04-21 16:28:21 +0200
committerEric Blake <eblake@redhat.com>2011-01-28 09:09:49 -0700
commit819269c4f0aa8a3117d30cd12d01eb401bdf585a (patch)
tree3d6b79ddc3fb7c3356a2c96ba4c4f81671d16946 /tests
parentqemu aio: parse aio support from qemu -help (diff)
downloadlibvirt-819269c4f0aa8a3117d30cd12d01eb401bdf585a.tar.gz
libvirt-819269c4f0aa8a3117d30cd12d01eb401bdf585a.tar.bz2
libvirt-819269c4f0aa8a3117d30cd12d01eb401bdf585a.zip
qemu aio: enable support
qemu allows the user to choose what io storage api should be used, either the default (threads) or native (linux aio) which in the latter case can result in better performance. Based on a patch originally by Matthias Dahl. Red Hat Bugzilla #591703 Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args1
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-aio.xml33
-rw-r--r--tests/qemuxml2argvtest.c2
-rw-r--r--tests/qemuxml2xmltest.c1
4 files changed, 37 insertions, 0 deletions
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args
new file mode 100644
index 000000000..15d2a1b76
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.args
@@ -0,0 +1 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c -drive file=/dev/HostVG/QEMUGuest1,if=ide,bus=0,unit=0,format=qcow2,cache=none,aio=native -drive file=/dev/HostVG/QEMUGuest2,if=ide,media=cdrom,bus=1,unit=0,format=raw,aio=threads -net none -serial none -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.xml
new file mode 100644
index 000000000..d8937360c
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-aio.xml
@@ -0,0 +1,33 @@
+<domain type='qemu'>
+ <name>QEMUGuest1</name>
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+ <memory>219200</memory>
+ <currentMemory>219200</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686' 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</emulator>
+ <disk type='block' device='disk'>
+ <driver name='qemu' type='qcow2' cache='none' io='native'/>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
+ </disk>
+ <disk type='block' device='cdrom'>
+ <driver name='qemu' type='raw' io='threads'/>
+ <source dev='/dev/HostVG/QEMUGuest2'/>
+ <target dev='hdc' bus='ide'/>
+ <readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
+ </disk>
+ <controller type='ide' index='0'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 0c0693b7b..0a39791d5 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -320,6 +320,8 @@ mymain(int argc, char **argv)
QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG, false);
DO_TEST("disk-scsi-device-auto", QEMUD_CMD_FLAG_DRIVE |
QEMUD_CMD_FLAG_DEVICE | QEMUD_CMD_FLAG_NODEFCONFIG, false);
+ DO_TEST("disk-aio", QEMUD_CMD_FLAG_DRIVE | QEMUD_CMD_FLAG_DRIVE_AIO |
+ QEMUD_CMD_FLAG_DRIVE_CACHE_V2 | QEMUD_CMD_FLAG_DRIVE_FORMAT, false);
DO_TEST("graphics-vnc", 0, false);
DO_TEST("graphics-vnc-socket", 0, false);
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index ab82d3652..dad91d4e7 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -132,6 +132,7 @@ mymain(int argc, char **argv)
DO_TEST("clock-utc");
DO_TEST("clock-localtime");
DO_TEST("hugepages");
+ DO_TEST("disk-aio");
DO_TEST("disk-cdrom");
DO_TEST("disk-floppy");
DO_TEST("disk-many");