On Fri, May 09, 2025 at 03:40:26PM -0500, Eric Blake wrote:
> The two callers to a mirror job (drive-mirror and blockdev-mirror) set
> zero_target precisely when sync mode == FULL, with the one exception
> that drive-mirror skips zeroing the target if it was newly created and
> reads as zero. But given the previous patch, that exception is
> equally captured by target_is_zero. And since we recently updated
> things to pass the sync mode all the way through to
> mirror_dirty_init(), we can now reconstruct the same conditionals
> without the redundant parameter.
>
> Signed-off-by: Eric Blake <[email protected]>
>
> ---
>
> v4: new patch
I was about to send the pull request, and noticed that this patch
reliably makes iotest 185 fail:
{"return": {}}
-{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event":
"BLOCK_JOB_READY", "data": {"device": "mirror", "len": 0, "offset": 0, "speed":
0, "type": "mirror"}}
---- Writing data to the virtio-blk device ---
...
-*** done
+Timeout waiting for event BLOCK_JOB_READY on handle 5
Failures: 185
Investigating now...
--
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization: qemu.org | libguestfs.org