block/dirty-bitmap: drop meta
Drop meta bitmaps, as they are unused. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 20190916141911.5255-2-vsementsov@virtuozzo.com Signed-off-by: John Snow <jsnow@redhat.com>
This commit is contained in:
parent
d2c3080e41
commit
767db3aad8
@ -31,7 +31,6 @@
|
|||||||
struct BdrvDirtyBitmap {
|
struct BdrvDirtyBitmap {
|
||||||
QemuMutex *mutex;
|
QemuMutex *mutex;
|
||||||
HBitmap *bitmap; /* Dirty bitmap implementation */
|
HBitmap *bitmap; /* Dirty bitmap implementation */
|
||||||
HBitmap *meta; /* Meta dirty bitmap */
|
|
||||||
bool busy; /* Bitmap is busy, it can't be used via QMP */
|
bool busy; /* Bitmap is busy, it can't be used via QMP */
|
||||||
BdrvDirtyBitmap *successor; /* Anonymous child, if any. */
|
BdrvDirtyBitmap *successor; /* Anonymous child, if any. */
|
||||||
char *name; /* Optional non-empty unique ID */
|
char *name; /* Optional non-empty unique ID */
|
||||||
@ -127,36 +126,6 @@ BdrvDirtyBitmap *bdrv_create_dirty_bitmap(BlockDriverState *bs,
|
|||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* bdrv_create_meta_dirty_bitmap
|
|
||||||
*
|
|
||||||
* Create a meta dirty bitmap that tracks the changes of bits in @bitmap. I.e.
|
|
||||||
* when a dirty status bit in @bitmap is changed (either from reset to set or
|
|
||||||
* the other way around), its respective meta dirty bitmap bit will be marked
|
|
||||||
* dirty as well.
|
|
||||||
*
|
|
||||||
* @bitmap: the block dirty bitmap for which to create a meta dirty bitmap.
|
|
||||||
* @chunk_size: how many bytes of bitmap data does each bit in the meta bitmap
|
|
||||||
* track.
|
|
||||||
*/
|
|
||||||
void bdrv_create_meta_dirty_bitmap(BdrvDirtyBitmap *bitmap,
|
|
||||||
int chunk_size)
|
|
||||||
{
|
|
||||||
assert(!bitmap->meta);
|
|
||||||
qemu_mutex_lock(bitmap->mutex);
|
|
||||||
bitmap->meta = hbitmap_create_meta(bitmap->bitmap,
|
|
||||||
chunk_size * BITS_PER_BYTE);
|
|
||||||
qemu_mutex_unlock(bitmap->mutex);
|
|
||||||
}
|
|
||||||
|
|
||||||
void bdrv_release_meta_dirty_bitmap(BdrvDirtyBitmap *bitmap)
|
|
||||||
{
|
|
||||||
assert(bitmap->meta);
|
|
||||||
qemu_mutex_lock(bitmap->mutex);
|
|
||||||
hbitmap_free_meta(bitmap->bitmap);
|
|
||||||
bitmap->meta = NULL;
|
|
||||||
qemu_mutex_unlock(bitmap->mutex);
|
|
||||||
}
|
|
||||||
|
|
||||||
int64_t bdrv_dirty_bitmap_size(const BdrvDirtyBitmap *bitmap)
|
int64_t bdrv_dirty_bitmap_size(const BdrvDirtyBitmap *bitmap)
|
||||||
{
|
{
|
||||||
return bitmap->size;
|
return bitmap->size;
|
||||||
@ -320,7 +289,6 @@ static void bdrv_release_dirty_bitmap_locked(BdrvDirtyBitmap *bitmap)
|
|||||||
assert(!bitmap->active_iterators);
|
assert(!bitmap->active_iterators);
|
||||||
assert(!bdrv_dirty_bitmap_busy(bitmap));
|
assert(!bdrv_dirty_bitmap_busy(bitmap));
|
||||||
assert(!bdrv_dirty_bitmap_has_successor(bitmap));
|
assert(!bdrv_dirty_bitmap_has_successor(bitmap));
|
||||||
assert(!bitmap->meta);
|
|
||||||
QLIST_REMOVE(bitmap, list);
|
QLIST_REMOVE(bitmap, list);
|
||||||
hbitmap_free(bitmap->bitmap);
|
hbitmap_free(bitmap->bitmap);
|
||||||
g_free(bitmap->name);
|
g_free(bitmap->name);
|
||||||
@ -666,15 +634,6 @@ BdrvDirtyBitmapIter *bdrv_dirty_iter_new(BdrvDirtyBitmap *bitmap)
|
|||||||
return iter;
|
return iter;
|
||||||
}
|
}
|
||||||
|
|
||||||
BdrvDirtyBitmapIter *bdrv_dirty_meta_iter_new(BdrvDirtyBitmap *bitmap)
|
|
||||||
{
|
|
||||||
BdrvDirtyBitmapIter *iter = g_new(BdrvDirtyBitmapIter, 1);
|
|
||||||
hbitmap_iter_init(&iter->hbi, bitmap->meta, 0);
|
|
||||||
iter->bitmap = bitmap;
|
|
||||||
bitmap->active_iterators++;
|
|
||||||
return iter;
|
|
||||||
}
|
|
||||||
|
|
||||||
void bdrv_dirty_iter_free(BdrvDirtyBitmapIter *iter)
|
void bdrv_dirty_iter_free(BdrvDirtyBitmapIter *iter)
|
||||||
{
|
{
|
||||||
if (!iter) {
|
if (!iter) {
|
||||||
@ -821,11 +780,6 @@ int64_t bdrv_get_dirty_count(BdrvDirtyBitmap *bitmap)
|
|||||||
return hbitmap_count(bitmap->bitmap);
|
return hbitmap_count(bitmap->bitmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t bdrv_get_meta_dirty_count(BdrvDirtyBitmap *bitmap)
|
|
||||||
{
|
|
||||||
return hbitmap_count(bitmap->meta);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool bdrv_dirty_bitmap_readonly(const BdrvDirtyBitmap *bitmap)
|
bool bdrv_dirty_bitmap_readonly(const BdrvDirtyBitmap *bitmap)
|
||||||
{
|
{
|
||||||
return bitmap->readonly;
|
return bitmap->readonly;
|
||||||
|
@ -18,9 +18,6 @@ BdrvDirtyBitmap *bdrv_create_dirty_bitmap(BlockDriverState *bs,
|
|||||||
uint32_t granularity,
|
uint32_t granularity,
|
||||||
const char *name,
|
const char *name,
|
||||||
Error **errp);
|
Error **errp);
|
||||||
void bdrv_create_meta_dirty_bitmap(BdrvDirtyBitmap *bitmap,
|
|
||||||
int chunk_size);
|
|
||||||
void bdrv_release_meta_dirty_bitmap(BdrvDirtyBitmap *bitmap);
|
|
||||||
int bdrv_dirty_bitmap_create_successor(BlockDriverState *bs,
|
int bdrv_dirty_bitmap_create_successor(BlockDriverState *bs,
|
||||||
BdrvDirtyBitmap *bitmap,
|
BdrvDirtyBitmap *bitmap,
|
||||||
Error **errp);
|
Error **errp);
|
||||||
@ -54,7 +51,6 @@ void bdrv_set_dirty_bitmap(BdrvDirtyBitmap *bitmap,
|
|||||||
int64_t offset, int64_t bytes);
|
int64_t offset, int64_t bytes);
|
||||||
void bdrv_reset_dirty_bitmap(BdrvDirtyBitmap *bitmap,
|
void bdrv_reset_dirty_bitmap(BdrvDirtyBitmap *bitmap,
|
||||||
int64_t offset, int64_t bytes);
|
int64_t offset, int64_t bytes);
|
||||||
BdrvDirtyBitmapIter *bdrv_dirty_meta_iter_new(BdrvDirtyBitmap *bitmap);
|
|
||||||
BdrvDirtyBitmapIter *bdrv_dirty_iter_new(BdrvDirtyBitmap *bitmap);
|
BdrvDirtyBitmapIter *bdrv_dirty_iter_new(BdrvDirtyBitmap *bitmap);
|
||||||
void bdrv_dirty_iter_free(BdrvDirtyBitmapIter *iter);
|
void bdrv_dirty_iter_free(BdrvDirtyBitmapIter *iter);
|
||||||
|
|
||||||
@ -96,7 +92,6 @@ void bdrv_reset_dirty_bitmap_locked(BdrvDirtyBitmap *bitmap,
|
|||||||
int64_t bdrv_dirty_iter_next(BdrvDirtyBitmapIter *iter);
|
int64_t bdrv_dirty_iter_next(BdrvDirtyBitmapIter *iter);
|
||||||
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);
|
|
||||||
void bdrv_dirty_bitmap_truncate(BlockDriverState *bs, int64_t bytes);
|
void bdrv_dirty_bitmap_truncate(BlockDriverState *bs, int64_t bytes);
|
||||||
bool bdrv_dirty_bitmap_readonly(const BdrvDirtyBitmap *bitmap);
|
bool bdrv_dirty_bitmap_readonly(const BdrvDirtyBitmap *bitmap);
|
||||||
bool bdrv_has_readonly_bitmaps(BlockDriverState *bs);
|
bool bdrv_has_readonly_bitmaps(BlockDriverState *bs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user