Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- block-migration.c | 2 +- block.c | 2 +- block/mirror.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/block-migration.c b/block-migration.c index fd2ffff..6fdce1a 100644 --- a/block-migration.c +++ b/block-migration.c @@ -485,7 +485,7 @@ static int64_t get_remaining_dirty(void) dirty += bdrv_get_dirty_count(bmds->bs); } - return dirty * BLOCK_SIZE; + return dirty << BDRV_SECTOR_BITS; } static int is_stage2_completed(void) diff --git a/block.c b/block.c index 35ceed5..b1d653f 100644 --- a/block.c +++ b/block.c @@ -4075,7 +4075,7 @@ void bdrv_reset_dirty(BlockDriverState *bs, int64_t cur_sector, int64_t bdrv_get_dirty_count(BlockDriverState *bs) { if (bs->dirty_bitmap) { - return hbitmap_count(bs->dirty_bitmap) >> BDRV_LOG_SECTORS_PER_DIRTY_CHUNK; + return hbitmap_count(bs->dirty_bitmap); } else { return 0; } diff --git a/block/mirror.c b/block/mirror.c index fcedd66..cc9f1fb 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -212,7 +212,7 @@ static void coroutine_fn mirror_run(void *opaque) } } else { /* Publish progress */ - s->common.offset = end * BDRV_SECTOR_SIZE - cnt * BLOCK_SIZE; + s->common.offset = (end - cnt) * BDRV_SECTOR_SIZE; if (s->common.speed) { delay_ns = ratelimit_calculate_delay(&s->limit, BDRV_SECTORS_PER_DIRTY_CHUNK); -- 1.7.10.2