On Sun, Sep 27, 2015 at 11:29:18PM -0400, Jeff Cody wrote: > + if (s->zero_cycle) { > + ret = bdrv_get_block_status(s->target, sector_num, nb_sectors, > &pnum); > + if (!(ret & BDRV_BLOCK_ZERO)) { > + bdrv_aio_write_zeroes(s->target, sector_num, op->nb_sectors, > + s->unmap ? BDRV_REQ_MAY_UNMAP : 0, > + mirror_write_complete, op);
mirror_write_complete will advance s->common.offset. Won't the progress be incorrect if we do that for both zeroing and regular mirroring?