[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH 06/12] dirty-bitmap: Change bdrv_di
From: |
John Snow |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH 06/12] dirty-bitmap: Change bdrv_dirty_iter_next() to report byte offset |
Date: |
Wed, 12 Apr 2017 20:10:56 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
On 04/12/2017 01:49 PM, Eric Blake wrote:
> Thanks to recent cleanups, all callers were scaling a return value
> of sectors into bytes; do the scaling internally instead.
>
> Signed-off-by: Eric Blake <address@hidden>
> ---
> block/backup.c | 2 +-
> block/dirty-bitmap.c | 2 +-
> block/mirror.c | 8 ++++----
> 3 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/block/backup.c b/block/backup.c
> index efa4896..6efd864 100644
> --- a/block/backup.c
> +++ b/block/backup.c
> @@ -375,7 +375,7 @@ static int coroutine_fn
> backup_run_incremental(BackupBlockJob *job)
> dbi = bdrv_dirty_iter_new(job->sync_bitmap);
>
> /* Find the next dirty sector(s) */
> - while ((offset = bdrv_dirty_iter_next(dbi) * BDRV_SECTOR_SIZE) >= 0) {
> + while ((offset = bdrv_dirty_iter_next(dbi)) >= 0) {
> cluster = offset / job->cluster_size;
>
> /* Fake progress updates for any clusters we skipped */
> diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c
> index 3fb4871..2f9f554 100644
> --- a/block/dirty-bitmap.c
> +++ b/block/dirty-bitmap.c
> @@ -397,7 +397,7 @@ void bdrv_dirty_iter_free(BdrvDirtyBitmapIter *iter)
>
> int64_t bdrv_dirty_iter_next(BdrvDirtyBitmapIter *iter)
> {
> - return hbitmap_iter_next(&iter->hbi);
> + return hbitmap_iter_next(&iter->hbi) * BDRV_SECTOR_SIZE;
> }
>
> void bdrv_set_dirty_bitmap(BdrvDirtyBitmap *bitmap,
> diff --git a/block/mirror.c b/block/mirror.c
> index 7c1d6bf..f404ff3 100644
> --- a/block/mirror.c
> +++ b/block/mirror.c
> @@ -335,10 +335,10 @@ static uint64_t coroutine_fn
> mirror_iteration(MirrorBlockJob *s)
> bool write_zeroes_ok =
> bdrv_can_write_zeroes_with_unmap(blk_bs(s->target));
> int max_io_bytes = MAX(s->buf_size / MAX_IN_FLIGHT, MAX_IO_BYTES);
>
> - offset = bdrv_dirty_iter_next(s->dbi) * BDRV_SECTOR_SIZE;
> + offset = bdrv_dirty_iter_next(s->dbi);
> if (offset < 0) {
> bdrv_set_dirty_iter(s->dbi, 0);
> - offset = bdrv_dirty_iter_next(s->dbi) * BDRV_SECTOR_SIZE;
> + offset = bdrv_dirty_iter_next(s->dbi);
> trace_mirror_restart_iter(s, bdrv_get_dirty_count(s->dirty_bitmap) *
> BDRV_SECTOR_SIZE);
> assert(offset >= 0);
> @@ -367,11 +367,11 @@ static uint64_t coroutine_fn
> mirror_iteration(MirrorBlockJob *s)
> break;
> }
>
> - next_dirty = bdrv_dirty_iter_next(s->dbi) * BDRV_SECTOR_SIZE;
> + next_dirty = bdrv_dirty_iter_next(s->dbi);
> if (next_dirty > next_offset || next_dirty < 0) {
> /* The bitmap iterator's cache is stale, refresh it */
> bdrv_set_dirty_iter(s->dbi, next_offset);
> - next_dirty = bdrv_dirty_iter_next(s->dbi) * BDRV_SECTOR_SIZE;
> + next_dirty = bdrv_dirty_iter_next(s->dbi);
> }
> assert(next_dirty == next_offset);
> nb_chunks++;
>
Reviewed-by: John Snow <address@hidden>
- Re: [Qemu-block] [Qemu-devel] [PATCH 03/12] dirty-bitmap: Drop unused functions, (continued)
[Qemu-block] [PATCH 04/12] dirty-bitmap: Track size in bytes, Eric Blake, 2017/04/12
[Qemu-block] [PATCH 05/12] dirty-bitmap: Set iterator start by offset, not sector, Eric Blake, 2017/04/12
[Qemu-block] [PATCH 06/12] dirty-bitmap: Change bdrv_dirty_iter_next() to report byte offset, Eric Blake, 2017/04/12
- Re: [Qemu-block] [Qemu-devel] [PATCH 06/12] dirty-bitmap: Change bdrv_dirty_iter_next() to report byte offset,
John Snow <=
[Qemu-block] [PATCH 07/12] dirty-bitmap: Change bdrv_get_dirty_count() to report bytes, Eric Blake, 2017/04/12
[Qemu-block] [PATCH 08/12] dirty-bitmap: Change bdrv_get_dirty() to take bytes, Eric Blake, 2017/04/12
[Qemu-block] [PATCH 09/12] dirty-bitmap: Change bdrv_[re]set_dirty_bitmap() to use bytes, Eric Blake, 2017/04/12
[Qemu-block] [PATCH 10/12] mirror: Switch mirror_dirty_init() to byte-based iteration, Eric Blake, 2017/04/12