49 lines
1.8 KiB
Diff
49 lines
1.8 KiB
Diff
From f15935ea3b510bf0633dc2219a132412a7a8e96c Mon Sep 17 00:00:00 2001
|
|
From: Lin Ma <lma@suse.com>
|
|
Date: Thu, 16 Apr 2020 12:44:51 +0800
|
|
Subject: [PATCH 3/8] qemu: fix hang in p2p + xbzrle compression + parallel
|
|
migration
|
|
|
|
When we do parallel migration, The multifd-channels migration parameter
|
|
needs to be set on the destination side as well before incoming migration
|
|
URI, unless we accept the default number of connections(2).
|
|
|
|
Usually, This can be correctly handled by libvirtd. But in this case if
|
|
we use p2p + xbzrle compression without parameter '--comp-xbzrle-cache',
|
|
qemuMigrationParamsDump returns too early, The corresponding migration
|
|
parameter will not be set on the destination side, It results QEMU hangs.
|
|
|
|
Reproducer:
|
|
virsh migrate --live --p2p --comp-methods xbzrle \
|
|
--parallel --parallel-connections 3 GUEST qemu+ssh://dsthost/system
|
|
|
|
or
|
|
|
|
virsh migrate --live --p2p --compressed \
|
|
--parallel --parallel-connections 3 GUEST qemu+ssh://dsthost/system
|
|
|
|
Signed-off-by: Lin Ma <lma@suse.com>
|
|
Message-Id: <20200416044451.21134-1-lma@suse.com>
|
|
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
|
|
(cherry-picked from commit 93b15ba0)
|
|
Signed-off-by: AlexChen <alex.chen@huawei.com>
|
|
---
|
|
src/qemu/qemu_migration_params.c | 1 -
|
|
1 file changed, 1 deletion(-)
|
|
|
|
diff --git a/src/qemu/qemu_migration_params.c b/src/qemu/qemu_migration_params.c
|
|
index dd5e2ce1b6..810199370f 100644
|
|
--- a/src/qemu/qemu_migration_params.c
|
|
+++ b/src/qemu/qemu_migration_params.c
|
|
@@ -630,7 +630,6 @@ qemuMigrationParamsDump(qemuMigrationParamsPtr migParams,
|
|
if (migParams->compMethods == 1ULL << QEMU_MIGRATION_COMPRESS_XBZRLE &&
|
|
!migParams->params[QEMU_MIGRATION_PARAM_XBZRLE_CACHE_SIZE].set) {
|
|
*flags |= VIR_MIGRATE_COMPRESSED;
|
|
- return 0;
|
|
}
|
|
|
|
for (i = 0; i < QEMU_MIGRATION_COMPRESS_LAST; ++i) {
|
|
--
|
|
2.23.0
|
|
|