On 07/14/2016 04:33 PM, Denis V. Lunev wrote:
This patchset contains patches dealing with known-to-be-zero areas in drive
mirror from [PATCH 0/9] major rework of drive-mirror patchset.
Changes from v2:
- added mirror_throttle helper (patch 3) to address Eric' comment about
last_time_ns
- comment tweaks (thank you, Eric)
- marked mirror_dirty_init as couroutine_fn
Changes from v1:
- only patches dealing with zeroes remains
- ported to current HEAD
- fixed issue with dirty-bitmap, int length is changed with int64
- fixed sectors_in_flight usage
- patch 6 is reworked taken into account bugs found in active mirror
- fixed patch 7
- direct checking of .bdrv_co_write_zeroes is replaced with
bdrv_can_write_zeroes_with_unmap
- added fixes for bdrv_can_write_zeroes_with_unmap
Signed-off-by: Denis V. Lunev <d...@openvz.org>
CC: Stefan Hajnoczi <stefa...@redhat.com>
CC: Fam Zheng <f...@redhat.com>
CC: Kevin Wolf <kw...@redhat.com>
CC: Max Reitz <mre...@redhat.com>
CC: Jeff Cody <jc...@redhat.com>
CC: Eric Blake <ebl...@redhat.com>
Denis V. Lunev (8):
dirty-bitmap: operate with int64_t amount
mirror: make sectors_in_flight int64_t
mirror: create mirror_throttle helper
mirror: create mirror_dirty_init helper for mirror_run
block: remove extra condition in bdrv_can_write_zeroes_with_unmap
mirror: optimize dirty bitmap filling in mirror_run a bit
mirror: efficiently zero out target
mirror: improve performance of mirroring of empty disk
block.c | 2 +-
block/dirty-bitmap.c | 6 +-
block/mirror.c | 145 +++++++++++++++++++++++++++++--------------
include/block/block_int.h | 2 +-
include/block/dirty-bitmap.h | 4 +-
5 files changed, 106 insertions(+), 53 deletions(-)
ping