Implied by QEMU >= 1.2.0.
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
static void
virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps)
{
- virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_WAKEUP);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_NETDEV_BRIDGE);
virQEMUCapsSet(qemuCaps, QEMU_CAPS_SECCOMP_SANDBOX);
X_QEMU_CAPS_FSDEV_WRITEOUT, /* -fsdev writeout supported */
/* 85 */
- QEMU_CAPS_DRIVE_IOTUNE, /* -drive bps= and friends */
+ X_QEMU_CAPS_DRIVE_IOTUNE, /* -drive bps= and friends */
QEMU_CAPS_WAKEUP, /* system_wakeup monitor command */
QEMU_CAPS_SCSI_DISK_CHANNEL, /* Is scsi-disk.channel available? */
QEMU_CAPS_SCSI_BLOCK, /* -device scsi-block */
}
if (qemuCaps) {
- /* block I/O throttling */
- if (qemuDiskConfigBlkdeviotuneHasBasic(disk) &&
- !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("block I/O throttling not supported with this "
- "QEMU binary"));
- return -1;
- }
-
/* block I/O throttling 1.7 */
if (qemuDiskConfigBlkdeviotuneHasMax(disk) &&
!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_IOTUNE_MAX)) {
supportMaxLengthOptions =
virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE_IOTUNE_MAX_LENGTH);
- if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE_IOTUNE)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("block I/O throttling not supported with this "
- "QEMU binary"));
- goto endjob;
- }
-
if (!supportMaxOptions &&
(set_fields & (QEMU_BLOCK_IOTUNE_SET_BYTES_MAX |
QEMU_BLOCK_IOTUNE_SET_IOPS_MAX |
if (def) {
/* If the VM is running, we can check if the current VM can use
* optional parameters or not. */
- if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE_IOTUNE)) {
- virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
- _("block I/O throttling not supported with this "
- "QEMU binary"));
- goto endjob;
- }
-
maxparams = QEMU_NB_BLOCK_IO_TUNE_BASE_PARAMS;
if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE_IOTUNE_MAX))
maxparams += QEMU_NB_BLOCK_IO_TUNE_MAX_PARAMS;
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='usb-hub'/>
<flag name='ich9-ahci'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='virtio-blk-pci.event_idx'/>
<flag name='virtio-net-pci.event_idx'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='virtio-blk-pci.event_idx'/>
<flag name='virtio-net-pci.event_idx'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='usb-hub'/>
<flag name='ich9-ahci'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='virtio-blk-pci.event_idx'/>
<flag name='virtio-net-pci.event_idx'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='usb-hub'/>
<flag name='ich9-ahci'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='virtio-blk-pci.event_idx'/>
<flag name='virtio-net-pci.event_idx'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='virtio-blk-pci.event_idx'/>
<flag name='virtio-net-pci.event_idx'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='usb-hub'/>
<flag name='ich9-ahci'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='virtio-blk-pci.event_idx'/>
<flag name='virtio-net-pci.event_idx'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
- <flag name='drive-iotune'/>
<flag name='system_wakeup'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
+++ /dev/null
-LC_ALL=C \
-PATH=/bin \
-HOME=/home/test \
-USER=test \
-LOGNAME=test \
-QEMU_AUDIO_DRV=none \
-/usr/bin/qemu-system-i686 \
--name QEMUGuest1 \
--S \
--M pc \
--m 214 \
--smp 1,sockets=1,cores=1,threads=1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--nographic \
--no-user-config \
--nodefaults \
--chardev socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,\
-server,nowait \
--mon chardev=charmonitor,id=monitor,mode=control \
--rtc base=utc \
--no-shutdown \
--no-acpi \
--boot c \
--usb \
--drive file=/dev/HostVG/QEMUGuest1,format=qcow2,if=none,id=drive-ide0-0-0,\
-cache=none,throttling.bps-total=5000,throttling.iops-total=6000 \
--device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
--drive file=/dev/HostVG/QEMUGuest2,format=qcow2,if=none,id=drive-ide0-0-1,\
-cache=none,throttling.bps-read=5000,throttling.bps-write=5000,\
-throttling.iops-total=7000 \
--device ide-drive,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \
--device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3
DO_TEST("numad-auto-memory-vcpu-cpuset", NONE);
DO_TEST("numad-auto-memory-vcpu-no-cpuset-and-placement", NONE);
DO_TEST("numad-static-memory-auto-vcpu", NONE);
- DO_TEST("blkdeviotune",
- QEMU_CAPS_DRIVE_IOTUNE);
DO_TEST("blkdeviotune-max",
- QEMU_CAPS_DRIVE_IOTUNE,
QEMU_CAPS_DRIVE_IOTUNE_MAX);
DO_TEST("blkdeviotune-group-num",
- QEMU_CAPS_DRIVE_IOTUNE,
QEMU_CAPS_DRIVE_IOTUNE_MAX,
QEMU_CAPS_DRIVE_IOTUNE_GROUP);
DO_TEST("blkdeviotune-max-length",
- QEMU_CAPS_DRIVE_IOTUNE,
QEMU_CAPS_DRIVE_IOTUNE_MAX,
QEMU_CAPS_DRIVE_IOTUNE_MAX_LENGTH);