Commit 283d7a04 authored by John Snow's avatar John Snow
Browse files

block/dirty-bitmaps: fix merge permissions



In prior commits that made merge transactionable, we removed the
assertion that merge cannot operate on disabled bitmaps. In addition,
we want to make sure that we are prohibiting merges to "locked" bitmaps.

Use the new user_locked function to check.

Reported-by: default avatarEric Blake <eblake@redhat.com>
Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Reviewed-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-id: 20181002230218.13949-3-jsnow@redhat.com
Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
parent 993edc0c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -806,9 +806,9 @@ void bdrv_merge_dirty_bitmap(BdrvDirtyBitmap *dest, const BdrvDirtyBitmap *src,

    qemu_mutex_lock(dest->mutex);

    if (bdrv_dirty_bitmap_frozen(dest)) {
        error_setg(errp, "Bitmap '%s' is frozen and cannot be modified",
                   dest->name);
    if (bdrv_dirty_bitmap_user_locked(dest)) {
        error_setg(errp, "Bitmap '%s' is currently in use by another"
        " operation and cannot be modified", dest->name);
        goto out;
    }