summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>2012-08-29 17:48:31 +0200
committerEric Blake <eblake@redhat.com>2012-08-31 11:27:47 -0700
commit277a49bce73da908c965e466b03f5fc97f04cae1 (patch)
treee6496fec5b7303628f7a4ad502004858d2a594c9 /tests
parentconf: Support for Block Device IO Limits (diff)
downloadlibvirt-277a49bce73da908c965e466b03f5fc97f04cae1.tar.gz
libvirt-277a49bce73da908c965e466b03f5fc97f04cae1.tar.bz2
libvirt-277a49bce73da908c965e466b03f5fc97f04cae1.zip
qemu: Support for Block Device IO Limits.
Implementation of iolimits for the qemu driver with capability probing for block size attribute and command line generation for block sizes. Including testcase for qemuxml2argvtest. Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/qemuhelptest.c12
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-iolimits.args9
-rw-r--r--tests/qemuxml2argvdata/qemuxml2argv-disk-iolimits.xml33
-rw-r--r--tests/qemuxml2argvtest.c3
4 files changed, 53 insertions, 4 deletions
diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c
index 2d15c9499..a391edde7 100644
--- a/tests/qemuhelptest.c
+++ b/tests/qemuhelptest.c
@@ -540,7 +540,8 @@ mymain(void)
QEMU_CAPS_NO_ACPI,
QEMU_CAPS_VIRTIO_BLK_SCSI,
QEMU_CAPS_VIRTIO_BLK_SG_IO,
- QEMU_CAPS_CPU_HOST);
+ QEMU_CAPS_CPU_HOST,
+ QEMU_CAPS_IOLIMITS);
DO_TEST("qemu-kvm-0.12.1.2-rhel62-beta", 12001, 1, 0,
QEMU_CAPS_VNC_COLON,
QEMU_CAPS_NO_REBOOT,
@@ -607,7 +608,8 @@ mymain(void)
QEMU_CAPS_VIRTIO_BLK_SG_IO,
QEMU_CAPS_DRIVE_COPY_ON_READ,
QEMU_CAPS_CPU_HOST,
- QEMU_CAPS_SCSI_CD);
+ QEMU_CAPS_SCSI_CD,
+ QEMU_CAPS_IOLIMITS);
DO_TEST("qemu-1.0", 1000000, 0, 0,
QEMU_CAPS_VNC_COLON,
QEMU_CAPS_NO_REBOOT,
@@ -679,7 +681,8 @@ mymain(void)
QEMU_CAPS_SCSI_BLOCK,
QEMU_CAPS_SCSI_CD,
QEMU_CAPS_IDE_CD,
- QEMU_CAPS_SCSI_LSI);
+ QEMU_CAPS_SCSI_LSI,
+ QEMU_CAPS_IOLIMITS);
DO_TEST("qemu-1.1.0", 1001000, 0, 0,
QEMU_CAPS_VNC_COLON,
QEMU_CAPS_NO_REBOOT,
@@ -759,7 +762,8 @@ mymain(void)
QEMU_CAPS_NEC_USB_XHCI,
QEMU_CAPS_NETDEV_BRIDGE,
QEMU_CAPS_SCSI_LSI,
- QEMU_CAPS_VIRTIO_SCSI_PCI);
+ QEMU_CAPS_VIRTIO_SCSI_PCI,
+ QEMU_CAPS_IOLIMITS);
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-iolimits.args b/tests/qemuxml2argvdata/qemuxml2argv-disk-iolimits.args
new file mode 100644
index 000000000..5fb136753
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-iolimits.args
@@ -0,0 +1,9 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test \
+/usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -nodefconfig -nodefaults \
+-monitor unix:/tmp/test-monitor,server,nowait -no-acpi -boot c \
+-drive file=/dev/HostVG/QEMUGuest1,if=none,id=drive-ide0-0-1 \
+-device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
+-drive file=/tmp/idedisk.img,if=none,id=drive-ide0-0-2 \
+-device ide-hd,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2,\
+logical_block_size=512,physical_block_size=512 \
+-usb -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-disk-iolimits.xml b/tests/qemuxml2argvdata/qemuxml2argv-disk-iolimits.xml
new file mode 100644
index 000000000..440984b0e
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-disk-iolimits.xml
@@ -0,0 +1,33 @@
+<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='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='cdrom'>
+ <source dev='/dev/HostVG/QEMUGuest1'/>
+ <target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='1'/>
+ </disk>
+ <disk type='file' device='disk'>
+ <source file='/tmp/idedisk.img'/>
+ <target dev='hdc' bus='ide'/>
+ <address type='drive' controller='0' bus='0' target='0' unit='2'/>
+ <iolimits logical_block_size='512' physical_block_size='512'/>
+ </disk>
+ <controller type='usb' index='0'/>
+ <controller type='ide' index='0'/>
+ <controller type='ide' index='1'/>
+ <memballoon model='virtio'/>
+ </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 71513fb2a..cc5b2c137 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -789,6 +789,9 @@ mymain(void)
QEMU_CAPS_IDE_CD);
DO_TEST("disk-geometry", QEMU_CAPS_DRIVE);
+ DO_TEST("disk-iolimits",
+ QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_NODEFCONFIG,
+ QEMU_CAPS_IDE_CD, QEMU_CAPS_IOLIMITS);
VIR_FREE(driver.stateDir);
virCapabilitiesFree(driver.caps);