[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 00/16] block/mirror: Add active-sync mirrorin
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PATCH v2 00/16] block/mirror: Add active-sync mirroring |
Date: |
Sat, 24 Feb 2018 16:42:40 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
Pïng
On 2018-01-22 23:07, Max Reitz wrote:
> This series implements an active and synchronous mirroring mode.
>
> Currently, the mirror block job is passive an asynchronous: Depending on
> your start conditions, some part of the source disk starts as "dirty".
> Then, the block job will (as a background operation) continuously copy
> dirty parts to the target disk until all of the source disk is clean.
> In the meantime, any write to the source disk dirties the affected area.
>
> One effect of this operational mode is that the job may never converge:
> If the writes to the source happen faster than the block job copies data
> to the target, the job can never finish.
>
> When the active mode implemented in this series is enabled, every write
> request to the source will automatically trigger a synchronous write to
> the target right afterwards. Therefore, the source can never get dirty
> faster than data is copied to the target. Most importantly, once source
> and target are in sync (BLOCK_JOB_READY is emitted), they will not
> diverge (unless e.g. an I/O error occurs).
>
> Active mirroring also improves on a second issue of the passive mode: We
> do not have to read data from the source in order to write it to the
> target. When new data is written to the source in active mode, it is
> automatically mirrored to the target, which saves us the superfluous
> read from the source.
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-devel] [PATCH v2 00/16] block/mirror: Add active-sync mirroring,
Max Reitz <=