diff --git a/debian/patches/pve/0056-migration-block-dirty-bitmap-migrate-other-bitmaps-e.patch b/debian/patches/pve/0056-migration-block-dirty-bitmap-migrate-other-bitmaps-e.patch new file mode 100644 index 0000000..3154291 --- /dev/null +++ b/debian/patches/pve/0056-migration-block-dirty-bitmap-migrate-other-bitmaps-e.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Stefan Reiter +Date: Tue, 3 Nov 2020 14:57:32 +0100 +Subject: [PATCH] migration/block-dirty-bitmap: migrate other bitmaps even if + one fails + +If the checks in bdrv_dirty_bitmap_check fail, that only means that this +one specific bitmap cannot be migrated. That is not an error condition +for any other bitmaps on the same block device. + +Fixes dirty-bitmap migration with sync=bitmap, as the bitmaps used for +that are obviously marked as "busy", which would cause none at all to be +transferred. + +Signed-off-by: Stefan Reiter +--- + migration/block-dirty-bitmap.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c +index 5bf0d9fbc6..1070c19181 100644 +--- a/migration/block-dirty-bitmap.c ++++ b/migration/block-dirty-bitmap.c +@@ -323,7 +323,7 @@ static int add_bitmaps_to_list(DBMSaveState *s, BlockDriverState *bs, + + if (bdrv_dirty_bitmap_check(bitmap, BDRV_BITMAP_DEFAULT, &local_err)) { + error_report_err(local_err); +- return -1; ++ continue; + } + + bdrv_ref(bs); diff --git a/debian/patches/series b/debian/patches/series index caedae4..0b4ba60 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -56,3 +56,4 @@ pve/0052-PVE-Backup-Use-more-coroutines-and-don-t-block-on-fi.patch pve/0053-PVE-fix-and-clean-up-error-handling-for-create_backu.patch pve/0054-migration-block-dirty-bitmap-fix-larger-granularity-.patch pve/0055-PVE-Migrate-dirty-bitmap-state-via-savevm.patch +pve/0056-migration-block-dirty-bitmap-migrate-other-bitmaps-e.patch