On Thu, Apr 16, 2020 at 12:44:51 +0800, Lin Ma wrote: > 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@xxxxxxxx> > --- > 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) { Oops, looks like a leftover from the past when xbzrle-cache-size was the only parameter. Reviewed-by: Jiri Denemark <jdenemar@xxxxxxxxxx>