Message ID | e79085bbe2d46dfa007dd41820194d5e2d4fcd80.1590007004.git.lukasstraub2@web.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | colo: migration related bugfixes | expand |
* Lukas Straub (lukasstraub2@web.de) wrote: > 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 <lukasstraub2@web.de> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> and queued this one (the others in the series are the same as the v1) > --- > migration/migration.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/migration/migration.c b/migration/migration.c > index 187ac0410c..e8bd32d48c 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -3347,6 +3347,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. > -- > 2.20.1 -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff --git a/migration/migration.c b/migration/migration.c index 187ac0410c..e8bd32d48c 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -3347,6 +3347,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.
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 <lukasstraub2@web.de> --- migration/migration.c | 4 ++++ 1 file changed, 4 insertions(+) -- 2.20.1