Message ID | 20190301191545.8728-5-jsnow@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | bitmaps: add inconsistent bit | expand |
On 3/1/19 1:15 PM, John Snow wrote: > drive and blockdev backup cannot use readonly bitmaps, because the > sync=incremental mechanism actually edits the bitmaps on success. > > If you really want to do this operation, use a copied bitmap. In fact, that's what I ended up doing in my libvirt patches, always running sync=incremental on a temporary copy. Reviewed-by: Eric Blake <eblake@redhat.com>
01.03.2019 22:15, John Snow wrote: > drive and blockdev backup cannot use readonly bitmaps, because the > sync=incremental mechanism actually edits the bitmaps on success. > > If you really want to do this operation, use a copied bitmap. > > Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> > --- > blockdev.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/blockdev.c b/blockdev.c > index 5d74479ba7..c8255dda0b 100644 > --- a/blockdev.c > +++ b/blockdev.c > @@ -3526,7 +3526,7 @@ static BlockJob *do_drive_backup(DriveBackup *backup, JobTxn *txn, > bdrv_unref(target_bs); > goto out; > } > - if (bdrv_dirty_bitmap_check(bmap, BDRV_BITMAP_ALLOW_RO, errp)) { > + if (bdrv_dirty_bitmap_check(bmap, BDRV_BITMAP_DEFAULT, errp)) { > goto out; > } > } > @@ -3636,7 +3636,7 @@ 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_check(bmap, BDRV_BITMAP_ALLOW_RO, errp)) { > + if (bdrv_dirty_bitmap_check(bmap, BDRV_BITMAP_DEFAULT, errp)) { > goto out; > } > } >
diff --git a/blockdev.c b/blockdev.c index 5d74479ba7..c8255dda0b 100644 --- a/blockdev.c +++ b/blockdev.c @@ -3526,7 +3526,7 @@ static BlockJob *do_drive_backup(DriveBackup *backup, JobTxn *txn, bdrv_unref(target_bs); goto out; } - if (bdrv_dirty_bitmap_check(bmap, BDRV_BITMAP_ALLOW_RO, errp)) { + if (bdrv_dirty_bitmap_check(bmap, BDRV_BITMAP_DEFAULT, errp)) { goto out; } } @@ -3636,7 +3636,7 @@ 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_check(bmap, BDRV_BITMAP_ALLOW_RO, errp)) { + if (bdrv_dirty_bitmap_check(bmap, BDRV_BITMAP_DEFAULT, errp)) { goto out; } }
drive and blockdev backup cannot use readonly bitmaps, because the sync=incremental mechanism actually edits the bitmaps on success. If you really want to do this operation, use a copied bitmap. Signed-off-by: John Snow <jsnow@redhat.com> --- blockdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)