diff options
author | Vladimir Sementsov-Ogievskiy | 2020-02-05 12:20:38 +0100 |
---|---|---|
committer | John Snow | 2020-03-18 19:03:46 +0100 |
commit | 299ea9ff01a8452dd14a042d700d8651370f5314 (patch) | |
tree | bf5d93cf9bbb8dac37627c0445d954fb8c520bce /include/block | |
parent | block/dirty-bitmap: add _next_dirty API (diff) | |
download | qemu-299ea9ff01a8452dd14a042d700d8651370f5314.tar.gz qemu-299ea9ff01a8452dd14a042d700d8651370f5314.tar.xz qemu-299ea9ff01a8452dd14a042d700d8651370f5314.zip |
block/dirty-bitmap: improve _next_dirty_area API
Firstly, _next_dirty_area is for scenarios when we may contiguously
search for next dirty area inside some limited region, so it is more
comfortable to specify "end" which should not be recalculated on each
iteration.
Secondly, let's add a possibility to limit resulting area size, not
limiting searching area. This will be used in NBD code in further
commit. (Note that now bdrv_dirty_bitmap_next_dirty_area is unused)
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Message-id: 20200205112041.6003-8-vsementsov@virtuozzo.com
Signed-off-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'include/block')
-rw-r--r-- | include/block/dirty-bitmap.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/block/dirty-bitmap.h b/include/block/dirty-bitmap.h index b1f0de12db..8a10029418 100644 --- a/include/block/dirty-bitmap.h +++ b/include/block/dirty-bitmap.h @@ -110,7 +110,8 @@ int64_t bdrv_dirty_bitmap_next_dirty(BdrvDirtyBitmap *bitmap, int64_t offset, int64_t bdrv_dirty_bitmap_next_zero(BdrvDirtyBitmap *bitmap, int64_t offset, int64_t bytes); bool bdrv_dirty_bitmap_next_dirty_area(BdrvDirtyBitmap *bitmap, - int64_t *offset, int64_t *bytes); + int64_t start, int64_t end, int64_t max_dirty_count, + int64_t *dirty_start, int64_t *dirty_count); BdrvDirtyBitmap *bdrv_reclaim_dirty_bitmap_locked(BdrvDirtyBitmap *bitmap, Error **errp); |