When destination VM is launched, the "backlog" parameter for listen() is set to 1 as default in socket_start_incoming_migration_internal(), which will lead to socket connection error (the queue of pending connections is full) when "multifd" and "multifd-channels" are set later on and a high number of channels are used. Set it to a hard-coded higher default value 512 to fix this issue.
Reported-by: Wei Wang <wei.w.w...@intel.com> Signed-off-by: Lei Wang <lei4.w...@intel.com> --- migration/socket.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/migration/socket.c b/migration/socket.c index 1b6f5baefb..b43a66ef7e 100644 --- a/migration/socket.c +++ b/migration/socket.c @@ -179,7 +179,7 @@ socket_start_incoming_migration_internal(SocketAddress *saddr, QIONetListener *listener = qio_net_listener_new(); MigrationIncomingState *mis = migration_incoming_get_current(); size_t i; - int num = 1; + int num = 512; qio_net_listener_set_name(listener, "migration-socket-listener"); -- 2.39.1