From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35520) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TGu1k-0005UP-PW for qemu-devel@nongnu.org; Wed, 26 Sep 2012 12:00:00 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TGu1j-0005Uz-Jv for qemu-devel@nongnu.org; Wed, 26 Sep 2012 11:59:56 -0400 Received: from mail-pa0-f45.google.com ([209.85.220.45]:44075) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TGu1j-0005Jc-DQ for qemu-devel@nongnu.org; Wed, 26 Sep 2012 11:59:55 -0400 Received: by mail-pa0-f45.google.com with SMTP id fb10so564081pad.4 for ; Wed, 26 Sep 2012 08:59:54 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Wed, 26 Sep 2012 17:56:45 +0200 Message-Id: <1348675011-8794-40-git-send-email-pbonzini@redhat.com> In-Reply-To: <1348675011-8794-1-git-send-email-pbonzini@redhat.com> References: <1348675011-8794-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH v2 39/45] block: return count of dirty sectors, not chunks List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, jcody@redhat.com Reviewed-by: Laszlo Ersek Signed-off-by: Paolo Bonzini --- block-migration.c | 2 +- block.c | 4 ++-- block/mirror.c | 2 +- 3 file modificati, 4 inserzioni(+), 4 rimozioni(-) diff --git a/block-migration.c b/block-migration.c index 7def8ab..07eafd3 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 16da2a9..6fe6491 100644 --- a/block.c +++ b/block.c @@ -2669,7 +2669,7 @@ BlockInfo *bdrv_query_info(BlockDriverState *bs) if (bs->dirty_bitmap) { info->has_dirty = true; info->dirty = g_malloc0(sizeof(*info->dirty)); - info->dirty->count = bdrv_get_dirty_count(bs) * BDRV_SECTORS_PER_DIRTY_CHUNK; + info->dirty->count = bdrv_get_dirty_count(bs); } if (bs->drv) { @@ -4056,7 +4056,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 49f9bde..179406b 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -242,7 +242,7 @@ static void coroutine_fn mirror_run(void *opaque) trace_mirror_before_sleep(s, cnt, s->synced); if (!s->synced) { /* 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.12