Re: [Qemu-devel] [PATCH v2 14/16] block/mirror: Add active mirroring

2018-02-28 Thread Max Reitz
On 2018-02-27 10:34, Fam Zheng wrote: > On Mon, 01/22 23:08, Max Reitz wrote: >> @@ -1151,7 +1285,48 @@ static int coroutine_fn >> bdrv_mirror_top_preadv(BlockDriverState *bs, >> static int coroutine_fn bdrv_mirror_top_pwritev(BlockDriverState *bs, >> uint64_t offset, uint64_t bytes, QEMUIOV

Re: [Qemu-devel] [PATCH v2 14/16] block/mirror: Add active mirroring

2018-02-27 Thread Eric Blake
On 02/27/2018 03:34 AM, Fam Zheng wrote: On Mon, 01/22 23:08, Max Reitz wrote: @@ -1151,7 +1285,48 @@ static int coroutine_fn bdrv_mirror_top_preadv(BlockDriverState *bs, static int coroutine_fn bdrv_mirror_top_pwritev(BlockDriverState *bs, uint64_t offset, uint64_t bytes, QEMUIOVector

Re: [Qemu-devel] [PATCH v2 14/16] block/mirror: Add active mirroring

2018-02-27 Thread Fam Zheng
On Mon, 01/22 23:08, Max Reitz wrote: > @@ -1151,7 +1285,48 @@ static int coroutine_fn > bdrv_mirror_top_preadv(BlockDriverState *bs, > static int coroutine_fn bdrv_mirror_top_pwritev(BlockDriverState *bs, > uint64_t offset, uint64_t bytes, QEMUIOVector *qiov, int flags) > { > -return b

[Qemu-devel] [PATCH v2 14/16] block/mirror: Add active mirroring

2018-01-22 Thread Max Reitz
This patch implements active synchronous mirroring. In active mode, the passive mechanism will still be in place and is used to copy all initially dirty clusters off the source disk; but every write request will write data both to the source and the target disk, so the source cannot be dirtied fas