SHA256
1
0
forked from pool/libvirt

Accepting request 794957 from home:jfehlig:branches:Virtualization

- qemu: fix hang in p2p + xbzrle compression + parallel migration
  93b15ba0-qemu-fix-hang-in-p2p-xbzrle-compression-parallel-mig.patch
  bsc#1161159

OBS-URL: https://build.opensuse.org/request/show/794957
OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=822
This commit is contained in:
James Fehlig 2020-04-17 16:30:52 +00:00 committed by Git OBS Bridge
parent 7ba3f0b84b
commit c93c63891d
3 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,40 @@
commit 93b15ba0f2eb7858f8d88a5fd7354bd48bb7fc8d
Author: Lin Ma <lma@suse.com>
Date: Thu Apr 16 12:44:51 2020 +0800
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>
Index: libvirt-6.0.0/src/qemu/qemu_migration_params.c
===================================================================
--- libvirt-6.0.0.orig/src/qemu/qemu_migration_params.c
+++ libvirt-6.0.0/src/qemu/qemu_migration_params.c
@@ -630,7 +630,6 @@ qemuMigrationParamsDump(qemuMigrationPar
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) {

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Fri Apr 17 05:19:57 UTC 2020 - Lin Ma <lma@suse.com>
- qemu: fix hang in p2p + xbzrle compression + parallel migration
93b15ba0-qemu-fix-hang-in-p2p-xbzrle-compression-parallel-mig.patch
bsc#1161159
-------------------------------------------------------------------
Thu Apr 9 22:04:57 UTC 2020 - James Fehlig <jfehlig@suse.com>

View File

@ -342,6 +342,7 @@ Patch0: 88011ed2-libxl-driver-crash-fix.patch
Patch1: 8e669b38-conf-add-event-channels.patch
Patch2: a93f55c5-libxl-add-event-channels.patch
Patch3: 967f4eeb-xenconfig-event-channels.patch
Patch4: 93b15ba0-qemu-fix-hang-in-p2p-xbzrle-compression-parallel-mig.patch
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
@ -881,6 +882,7 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch100 -p1
%patch101 -p1
%patch150 -p1