The current behavior of mirroring zero byte image is slightly different from non-zero image: the BLOCK_JOB_READY event is skipped and job is completed immediately. This is not a big problem for human user but only makes management software harder to write. Since we are focusing on an good API instead of UI, let's make the behavior more consistent and predictable.
The first patch fixes the behavior. The following two patches add test case for the involved code path. Thanks for Eric Blake to report this! Fam Fam Zheng (3): mirror: Go through ready -> complete process for 0 len image qemu-iotests: Test BLOCK_JOB_READY event for 0Kb image active commit qemu-iotests: Test 0-length image for mirror block/mirror.c | 11 ++++++++++- tests/qemu-iotests/040 | 11 ++++++++++- tests/qemu-iotests/040.out | 4 ++-- tests/qemu-iotests/041 | 5 +++++ tests/qemu-iotests/041.out | 4 ++-- 5 files changed, 29 insertions(+), 6 deletions(-) -- 2.0.0