On 04/19/2017 07:54 PM, Fam Zheng wrote: > Mirror calculates job len from current I/O progress: > > s->common.len = s->common.offset + > (cnt + s->sectors_in_flight) * BDRV_SECTOR_SIZE; > > The final "len" of a failed mirror job in iotests 109 depends on the > subtle timing of the completion of read and write issued in the first > mirror iteration. The second iteration may or may not have run when the > I/O error happens, resulting in non-deterministic output of the > BLOCK_JOB_COMPLETED event text. > > Similar to what was done in a752e4786, filter out the field to make the > test robust. > > Signed-off-by: Fam Zheng <[email protected]> > > --- > > v3: Cover more cases. [Kevin, Paolo]
That my testing missed those extra cases is just proof that the behavior is non-deterministic. Munging the 'len' data in more places is the right solution. > > v2: Add Eric's r-b. Once again: Reviewed-by: Eric Blake <[email protected]> Tested-by: Eric Blake <[email protected]> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
