qapi/block-core.json | 2 +- include/block/block-global-state.h | 1 - include/block/block-io.h | 2 + include/block/block_int-common.h | 4 +- block.c | 2 +- block/blkio.c | 1 - block/block-backend.c | 9 +- block/io.c | 6 +- block/mirror.c | 78 ++++--- blockjob.c | 3 +- tests/qemu-iotests/151 | 227 ++++++++++++++++++++- tests/qemu-iotests/151.out | 4 +- tests/qemu-iotests/tests/stream-under-throttle | 121 +++++++++++ tests/qemu-iotests/tests/stream-under-throttle.out | 5 + 14 files changed, 424 insertions(+), 41 deletions(-) create mode 100755 tests/qemu-iotests/tests/stream-under-throttle create mode 100644 tests/qemu-iotests/tests/stream-under-throttle.out