From: Lukas Straub Date: Wed, 20 May 2020 20:42:32 +0000 (+0200) Subject: migration/migration.c: Fix hang in ram_save_host_page X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=773861274ad75a62c7ecf70ecc8e4ba31ed62190;p=qemu.git migration/migration.c: Fix hang in ram_save_host_page migration_rate_limit will erroneously ratelimit a shutdown socket, which causes the migration thread to hang in ram_save_host_page if the socket is shutdown. Fix this by explicitly testing if the socket has errors or was shutdown in migration_rate_limit. Signed-off-by: Lukas Straub Message-Id: Reviewed-by: Dr. David Alan Gilbert Signed-off-by: Dr. David Alan Gilbert --- diff --git a/migration/migration.c b/migration/migration.c index 0bb042a0f7..b63ad91d34 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -3361,6 +3361,10 @@ bool migration_rate_limit(void) bool urgent = false; migration_update_counters(s, now); if (qemu_file_rate_limit(s->to_dst_file)) { + + if (qemu_file_get_error(s->to_dst_file)) { + return false; + } /* * Wait for a delay to do rate limiting OR * something urgent to post the semaphore.