On 02/14/2017 11:59 AM, Vladimir Sementsov-Ogievskiy wrote: > Remove persistent bitmap from the storage on block-dirty-bitmap-remove. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> > Reviewed-by: Max Reitz <mre...@redhat.com> > --- > blockdev.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/blockdev.c b/blockdev.c > index c41b791..a365cdf 100644 > --- a/blockdev.c > +++ b/blockdev.c > @@ -2767,6 +2767,7 @@ void qmp_block_dirty_bitmap_remove(const char *node, > const char *name, > AioContext *aio_context; > BlockDriverState *bs; > BdrvDirtyBitmap *bitmap; > + Error *local_err = NULL; > > bitmap = block_dirty_bitmap_lookup(node, name, &bs, &aio_context, errp); > if (!bitmap || !bs) { > @@ -2779,6 +2780,15 @@ void qmp_block_dirty_bitmap_remove(const char *node, > const char *name, > name); > goto out; > } > + > + if (bdrv_dirty_bitmap_get_persistance(bitmap)) { > + bdrv_remove_persistent_dirty_bitmap(bs, name, &local_err); > + if (local_err != NULL) { > + error_propagate(errp, local_err); > + goto out; > + } > + } > + > bdrv_dirty_bitmap_make_anon(bitmap); > bdrv_release_dirty_bitmap(bs, bitmap); > >
Reviewed-by: John Snow <js...@redhat.com>