[These patches go on top of the "block: Mirror discarded sectors" series]
Some protocols don't have an easy way to query sparseness, (e.g. block/nfs.c, block/nbd.c), for which block layer always reports block status as "allocated data". This will let mirror job do full provisioning even if data is actually sparse under the hood. With the new "detect-zeroes" option, we can let mirror job detect zeroes before sending the data to target, and use zero write when it is more efficient. Fam Fam Zheng (2): qapi: Add "detect-zeroes" option to drive-mirror iotests: Add test cases for drive-mirror "detect-zeroes" option block/mirror.c | 21 +++++++++++++++------ blockdev.c | 6 +++++- hmp.c | 2 +- include/block/block_int.h | 3 ++- qapi/block-core.json | 4 +++- qmp-commands.hx | 4 +++- tests/qemu-iotests/132 | 26 +++++++++++++++++++++++--- tests/qemu-iotests/132.out | 4 ++-- tests/qemu-iotests/iotests.py | 7 +++++++ 9 files changed, 61 insertions(+), 16 deletions(-) -- 2.4.2