migration: add_bitmaps_to_list: check disk name once
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20200521220648.3255-6-vsementsov@virtuozzo.com> [eblake: shorter subject line] Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
ae00aa2398
commit
82640edb88
@ -274,17 +274,22 @@ static int add_bitmaps_to_list(BlockDriverState *bs, const char *bs_name)
|
|||||||
DirtyBitmapMigBitmapState *dbms;
|
DirtyBitmapMigBitmapState *dbms;
|
||||||
Error *local_err = NULL;
|
Error *local_err = NULL;
|
||||||
|
|
||||||
|
bitmap = bdrv_dirty_bitmap_first(bs);
|
||||||
|
if (!bitmap) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!bs_name || strcmp(bs_name, "") == 0) {
|
||||||
|
error_report("Bitmap '%s' in unnamed node can't be migrated",
|
||||||
|
bdrv_dirty_bitmap_name(bitmap));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
FOR_EACH_DIRTY_BITMAP(bs, bitmap) {
|
FOR_EACH_DIRTY_BITMAP(bs, bitmap) {
|
||||||
if (!bdrv_dirty_bitmap_name(bitmap)) {
|
if (!bdrv_dirty_bitmap_name(bitmap)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!bs_name || strcmp(bs_name, "") == 0) {
|
|
||||||
error_report("Found bitmap '%s' in unnamed node %p. It can't "
|
|
||||||
"be migrated", bdrv_dirty_bitmap_name(bitmap), bs);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bdrv_dirty_bitmap_check(bitmap, BDRV_BITMAP_DEFAULT, &local_err)) {
|
if (bdrv_dirty_bitmap_check(bitmap, BDRV_BITMAP_DEFAULT, &local_err)) {
|
||||||
error_report_err(local_err);
|
error_report_err(local_err);
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user