v1:
http://www.redhat.com/archives/libvir-list/2016-September/msg01090.html
Differences since v1:
Patches 1-5 are new...
Patch 1 is essentially the former patch 8.5 added after initial review
based on a review comment. Erik Skultety and I went back and forth
on this one a few times and this is the result
Patch 2 is a result of being frustrated by a generic error message when
I know we could return whatever qemu gives us
Patch 3 is simple code motion - the conf_disk is closer to usage now
Patch 4 & 5 create and use the same algorithm to set the default values
that weren't provided.
Patches 6-7 have already been ACK'd... I've been waiting to push because
they will interfere with libvirt-perl builds and since the 2.3.0 hasn't
been published yet, I'm still holding onto them.
Patch 8 is the former patch 8, but reworked mostly in qemu_driver.c, but
also a change in qemu_monitor_json.c to use "P:" instead of "U:"
for
then length values. For _length a 0 is an invalid value, so we'll use
it to mean "nothing changed"
Patch 9 is the former patch 11 and is mostly intact, with major difference
being the removal of the CHECK_IOTUNE_MAX_LENGTH macro (it was causing
domain disappearance)
Patch 10 is the former patch 12 and is unchanged. It also has been ACKd
Patch 11-12 are new - it's the virsh code.
John Ferlan (12):
qemu: Create a macro to handle setting bytes/iops iotune values
qemu: Return real error message for block_set_io_throttle
qemu: Move setting of conf_disk in qemuDomainSetBlockIoTune
qemu: Introduce qemuDomainSetBlockIoTuneSetDefaults
qemu: Use qemuDomainsetBlockIoTuneSetDefaults for config
include: Add new definitions for duration for bps/iops throttling
caps: Add new capability for the bps/iops throttling length
qemu: Add length for bps/iops throttling parameters to driver
conf: Add support for blkiotune "_length" options
qemu: Add the length options to the iotune command line
virsh: Create a macro to add IOTUNE values
virsh: Add _length parameters to virsh output
docs/formatdomain.html.in | 40 ++-
docs/schemas/domaincommon.rng | 38 +++
include/libvirt/libvirt-domain.h | 102 ++++++
src/conf/domain_conf.c | 24 +-
src/conf/domain_conf.h | 6 +
src/qemu/qemu_capabilities.c | 2 +
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 21 ++
src/qemu/qemu_driver.c | 341 +++++++++++----------
src/qemu/qemu_monitor.c | 7 +-
src/qemu/qemu_monitor.h | 3 +-
src/qemu/qemu_monitor_json.c | 39 ++-
src/qemu/qemu_monitor_json.h | 3 +-
.../caps_2.6.0-gicv2.aarch64.xml | 1 +
.../caps_2.6.0-gicv3.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.6.0.ppc64le.xml | 1 +
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 1 +
tests/qemumonitorjsontest.c | 17 +-
.../qemuxml2argv-blkdeviotune-max-length.args | 34 ++
.../qemuxml2argv-blkdeviotune-max-length.xml | 65 ++++
tests/qemuxml2argvtest.c | 4 +
.../qemuxml2xmlout-blkdeviotune-max-length.xml | 1 +
tests/qemuxml2xmltest.c | 1 +
tools/virsh-domain.c | 196 +++++-------
tools/virsh.pod | 21 ++
26 files changed, 673 insertions(+), 298 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune-max-length.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-blkdeviotune-max-length.xml
create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-blkdeviotune-max-length.xml