Revert "block/dirty-bitmap: Add bdrv_dirty_iter_next_area"
This reverts commit 72d10a94213a954ad569095cb4491f2ae0853c40. The function is unused now. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: John Snow <jsnow@redhat.com>
This commit is contained in:
parent
1eaf1b0fdf
commit
166cd55125
@ -518,61 +518,6 @@ int64_t bdrv_dirty_iter_next(BdrvDirtyBitmapIter *iter)
|
|||||||
return hbitmap_iter_next(&iter->hbi, true);
|
return hbitmap_iter_next(&iter->hbi, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the next consecutively dirty area in the dirty bitmap
|
|
||||||
* belonging to the given iterator @iter.
|
|
||||||
*
|
|
||||||
* @max_offset: Maximum value that may be returned for
|
|
||||||
* *offset + *bytes
|
|
||||||
* @offset: Will contain the start offset of the next dirty area
|
|
||||||
* @bytes: Will contain the length of the next dirty area
|
|
||||||
*
|
|
||||||
* Returns: True if a dirty area could be found before max_offset
|
|
||||||
* (which means that *offset and *bytes then contain valid
|
|
||||||
* values), false otherwise.
|
|
||||||
*
|
|
||||||
* Note that @iter is never advanced if false is returned. If an area
|
|
||||||
* is found (which means that true is returned), it will be advanced
|
|
||||||
* past that area.
|
|
||||||
*/
|
|
||||||
bool bdrv_dirty_iter_next_area(BdrvDirtyBitmapIter *iter, uint64_t max_offset,
|
|
||||||
uint64_t *offset, int *bytes)
|
|
||||||
{
|
|
||||||
uint32_t granularity = bdrv_dirty_bitmap_granularity(iter->bitmap);
|
|
||||||
uint64_t gran_max_offset;
|
|
||||||
int64_t ret;
|
|
||||||
int size;
|
|
||||||
|
|
||||||
if (max_offset == iter->bitmap->size) {
|
|
||||||
/* If max_offset points to the image end, round it up by the
|
|
||||||
* bitmap granularity */
|
|
||||||
gran_max_offset = ROUND_UP(max_offset, granularity);
|
|
||||||
} else {
|
|
||||||
gran_max_offset = max_offset;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = hbitmap_iter_next(&iter->hbi, false);
|
|
||||||
if (ret < 0 || ret + granularity > gran_max_offset) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
*offset = ret;
|
|
||||||
size = 0;
|
|
||||||
|
|
||||||
assert(granularity <= INT_MAX);
|
|
||||||
|
|
||||||
do {
|
|
||||||
/* Advance iterator */
|
|
||||||
ret = hbitmap_iter_next(&iter->hbi, true);
|
|
||||||
size += granularity;
|
|
||||||
} while (ret + granularity <= gran_max_offset &&
|
|
||||||
hbitmap_iter_next(&iter->hbi, false) == ret + granularity &&
|
|
||||||
size <= INT_MAX - granularity);
|
|
||||||
|
|
||||||
*bytes = MIN(size, max_offset - *offset);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Called within bdrv_dirty_bitmap_lock..unlock */
|
/* Called within bdrv_dirty_bitmap_lock..unlock */
|
||||||
void bdrv_set_dirty_bitmap_locked(BdrvDirtyBitmap *bitmap,
|
void bdrv_set_dirty_bitmap_locked(BdrvDirtyBitmap *bitmap,
|
||||||
int64_t offset, int64_t bytes)
|
int64_t offset, int64_t bytes)
|
||||||
|
@ -83,8 +83,6 @@ void bdrv_set_dirty_bitmap_locked(BdrvDirtyBitmap *bitmap,
|
|||||||
void bdrv_reset_dirty_bitmap_locked(BdrvDirtyBitmap *bitmap,
|
void bdrv_reset_dirty_bitmap_locked(BdrvDirtyBitmap *bitmap,
|
||||||
int64_t offset, int64_t bytes);
|
int64_t offset, int64_t bytes);
|
||||||
int64_t bdrv_dirty_iter_next(BdrvDirtyBitmapIter *iter);
|
int64_t bdrv_dirty_iter_next(BdrvDirtyBitmapIter *iter);
|
||||||
bool bdrv_dirty_iter_next_area(BdrvDirtyBitmapIter *iter, uint64_t max_offset,
|
|
||||||
uint64_t *offset, int *bytes);
|
|
||||||
void bdrv_set_dirty_iter(BdrvDirtyBitmapIter *hbi, int64_t offset);
|
void bdrv_set_dirty_iter(BdrvDirtyBitmapIter *hbi, int64_t offset);
|
||||||
int64_t bdrv_get_dirty_count(BdrvDirtyBitmap *bitmap);
|
int64_t bdrv_get_dirty_count(BdrvDirtyBitmap *bitmap);
|
||||||
int64_t bdrv_get_meta_dirty_count(BdrvDirtyBitmap *bitmap);
|
int64_t bdrv_get_meta_dirty_count(BdrvDirtyBitmap *bitmap);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user