26.09.2018 02:49, John Snow wrote:
> If the bitmap is locked, we shouldn't touch it.
>
> Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> ---
> blockdev.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/blockdev.c b/blockdev.c
> index 751e153557..c998336a43 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -3512,10 +3512,10 @@ static BlockJob *do_drive_backup(DriveBackup *backup, JobTxn *txn,
> bdrv_unref(target_bs);
> goto out;
> }
> - if (bdrv_dirty_bitmap_qmp_locked(bmap)) {
> + if (!bdrv_dirty_bitmap_user_modifiable(bmap)) {
> error_setg(errp,
> - "Bitmap '%s' is currently locked and cannot be used for "
> - "backup", backup->bitmap);
> + "Bitmap '%s' is currently in-use by another operation"
> + " and cannot be used for backup", backup->bitmap);
> goto out;
> }
> }
> @@ -3620,10 +3620,10 @@ BlockJob *do_blockdev_backup(BlockdevBackup *backup, JobTxn *txn,
> error_setg(errp, "Bitmap '%s' could not be found", backup->bitmap);
> goto out;
> }
> - if (bdrv_dirty_bitmap_qmp_locked(bmap)) {
> + if (!bdrv_dirty_bitmap_user_modifiable(bmap)) {
> error_setg(errp,
> - "Bitmap '%s' is currently locked and cannot be used for "
> - "backup", backup->bitmap);
> + "Bitmap '%s' is currently in-use by another operation"
> + " and cannot be used for backup", backup->bitmap);
> goto out;
> }
> }
--
Best regards,
Vladimir