block/copy-on-read.c | 131 +++++++++++++++++++++++++++++++++++++---- block/copy-on-read.h | 36 +++++++++++ block/monitor/block-hmp-cmds.c | 4 +- block/stream.c | 80 +++++++++++++++++-------- blockdev.c | 8 ++- include/block/block_int.h | 7 ++- qapi/block-core.json | 6 ++ tests/qemu-iotests/030 | 50 ++-------------- tests/qemu-iotests/030.out | 4 +- 9 files changed, 240 insertions(+), 86 deletions(-) create mode 100644 block/copy-on-read.h