diff options
author | Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com> | 2012-08-29 17:48:31 +0200 |
---|---|---|
committer | Eric Blake <eblake@redhat.com> | 2012-08-31 11:27:47 -0700 |
commit | 277a49bce73da908c965e466b03f5fc97f04cae1 (patch) | |
tree | e6496fec5b7303628f7a4ad502004858d2a594c9 /tests | |
parent | conf: Support for Block Device IO Limits (diff) | |
download | libvirt-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.c | 12 | ||||
-rw-r--r-- | tests/qemuxml2argvdata/qemuxml2argv-disk-iolimits.args | 9 | ||||
-rw-r--r-- | tests/qemuxml2argvdata/qemuxml2argv-disk-iolimits.xml | 33 | ||||
-rw-r--r-- | tests/qemuxml2argvtest.c | 3 |
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); |