01.03.2019 22:15, John Snow wrote: > We didn't do any state checking on source bitmaps at all, > so this adds inconsistent and busy checks. readonly is > allowed, so you can still copy a readonly bitmap to a new > destination to use it for operations like drive-backup. > > Signed-off-by: John Snow <js...@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> > --- > block/dirty-bitmap.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c > index 769668ccdc..8403c9981d 100644 > --- a/block/dirty-bitmap.c > +++ b/block/dirty-bitmap.c > @@ -825,6 +825,9 @@ void bdrv_merge_dirty_bitmap(BdrvDirtyBitmap *dest, const > BdrvDirtyBitmap *src, > goto out; > } > > + if (bdrv_dirty_bitmap_check(src, BDRV_BITMAP_ALLOW_RO, errp)) { > + goto out; > + } > > if (!hbitmap_can_merge(dest->bitmap, src->bitmap)) { > error_setg(errp, "Bitmaps are incompatible and can't be merged"); > -- Best regards, Vladimir