block.c | 26 ++++++- block/block-backend.c | 152 +++++++++++++++++++++++----------------- block/commit.c | 4 +- block/mirror.c | 2 +- block/qapi.c | 24 +++---- block/throttle.c | 8 +++ block/vvfat.c | 2 +- blockdev.c | 148 +++++++++++++++++++++++++++++++++----- blockjob.c | 16 ++--- include/block/block.h | 2 +- include/block/block_int.h | 9 +++ include/block/blockjob_int.h | 3 +- include/block/throttle-groups.h | 1 + include/sysemu/block-backend.h | 16 +---- tests/qemu-iotests/191 | 138 ++++++++++++++++++++++++++++++++++++ tests/qemu-iotests/191.out | 5 ++ tests/qemu-iotests/group | 1 + tests/test-blockjob.c | 10 +-- tests/test-throttle.c | 19 ++--- 19 files changed, 440 insertions(+), 146 deletions(-) create mode 100644 tests/qemu-iotests/191 create mode 100644 tests/qemu-iotests/191.out