Message ID | 20200515124024.3491-8-vsementsov@virtuozzo.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fix migration with bitmaps and mirror | expand |
On 5/15/20 7:40 AM, Vladimir Sementsov-Ogievskiy wrote: > It actually never worked with libvirt, as auto-generated names are > different on source and destination. > > It's unsafe and useless to migrate by auto-generated node-names, so > let's forbid it. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> > Reviewed-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> > --- > migration/block-dirty-bitmap.c | 7 +++++++ > 1 file changed, 7 insertions(+) > Reviewed-by: Eric Blake <eblake@redhat.com> > diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c > index e0e081ce60..f5744c35e6 100644 > --- a/migration/block-dirty-bitmap.c > +++ b/migration/block-dirty-bitmap.c > @@ -285,6 +285,13 @@ static int add_bitmaps_to_list(BlockDriverState *bs, const char *bs_name) > return -1; > } > > + if (bs_name[0] == '#') { > + error_report("Found bitmap '%s' in a node with auto-generated " > + "name: %s. It can't be migrated", Maybe compress to: "Bitmap '%s' in auto-generated node '%s' can't be migrated" > + bdrv_dirty_bitmap_name(bitmap), bs_name); > + return -1; > + } > + > FOR_EACH_DIRTY_BITMAP(bs, bitmap) { > if (!bdrv_dirty_bitmap_name(bitmap)) { > continue; >
diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c index e0e081ce60..f5744c35e6 100644 --- a/migration/block-dirty-bitmap.c +++ b/migration/block-dirty-bitmap.c @@ -285,6 +285,13 @@ static int add_bitmaps_to_list(BlockDriverState *bs, const char *bs_name) return -1; } + if (bs_name[0] == '#') { + error_report("Found bitmap '%s' in a node with auto-generated " + "name: %s. It can't be migrated", + bdrv_dirty_bitmap_name(bitmap), bs_name); + return -1; + } + FOR_EACH_DIRTY_BITMAP(bs, bitmap) { if (!bdrv_dirty_bitmap_name(bitmap)) { continue;