The funcion loads dirty bitmap from file, using underlying driver function.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- block/dirty-bitmap.c | 16 ++++++++++++++++ include/block/dirty-bitmap.h | 2 ++ 2 files changed, 18 insertions(+) diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c index 6df7fe1..1d0ea25 100644 --- a/block/dirty-bitmap.c +++ b/block/dirty-bitmap.c @@ -597,3 +597,19 @@ void bdrv_finalize_persistent_dirty_bitmaps(BlockDriverState *bs) } } } + +BdrvDirtyBitmap *bdrv_load_dirty_bitmap(BlockDriverState *bs, const char *name, + Error **errp) +{ + BlockDriver *drv = bs->drv; + if (!drv) { + return NULL; + } + if (drv->bdrv_dirty_bitmap_load) { + return drv->bdrv_dirty_bitmap_load(bs, name, errp); + } + if (bs->file) { + return bdrv_load_dirty_bitmap(bs, name, errp); + } + return NULL; +} diff --git a/include/block/dirty-bitmap.h b/include/block/dirty-bitmap.h index 05aa7f9..d482098 100644 --- a/include/block/dirty-bitmap.h +++ b/include/block/dirty-bitmap.h @@ -81,5 +81,7 @@ void bdrv_dirty_bitmap_set_persistance(BdrvDirtyBitmap *bitmap, void bdrv_store_dirty_bitmap(BlockDriverState *bs, BdrvDirtyBitmap *bitmap, Error **errp); void bdrv_finalize_persistent_dirty_bitmaps(BlockDriverState *bs); +BdrvDirtyBitmap *bdrv_load_dirty_bitmap(BlockDriverState *bs, const char *name, + Error **errp); #endif -- 1.8.3.1