This series adds iotest case for IO throttling. There is a change in qemu-io sub-commands "aio_read" and "aio_write", which makes the aio requests accounted and the statistics reflected in blockstats.
Note that IO throttling implementation allows overcommiting of requests, so the actual IO happened in a time unit may be a bit larger than given limits. In the test case, the stats numbers are compared against 110%, to make room for such flexibility in order to improve determinism. v3: Address comments from Benoît. (Thanks for the review!) [02/05] qtest: Add scripts/qtest/qtest.py Fix comments. Fix socket close order. Removed unused lines. [03/05] qemu-iotests: Add VM method qtest() to iotests.py Remove duplicated VM.qtest definition. [05/05] qemu-iotests: Add 080 for IO throttling Check for lower bound (0.9 * limit * seconds). Remove unused lines. Fix checking of total bps and iops by adding up read and write. Fam Zheng (5): qemu-io: Account IO by aio_read and aio_write qtest: Add scripts/qtest/qtest.py qemu-iotests: Add VM method qtest() to iotests.py qemu-iotests: Allow caller to disable underscore convertion for qmp qemu-iotests: Add 080 for IO throttling qemu-io-cmds.c | 10 +++ scripts/qtest | 5 -- scripts/qtest/qtest.py | 74 ++++++++++++++++++ tests/qemu-iotests/080 | 175 ++++++++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/080.out | 5 ++ tests/qemu-iotests/group | 1 + tests/qemu-iotests/iotests.py | 24 +++++- 7 files changed, 285 insertions(+), 9 deletions(-) delete mode 100755 scripts/qtest create mode 100644 scripts/qtest/qtest.py create mode 100755 tests/qemu-iotests/080 create mode 100644 tests/qemu-iotests/080.out -- 1.8.5.4