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