[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 6/6] migration/migration.c: Fix hang in ram_save_host_page
From: |
Lukas Straub |
Subject: |
[PATCH v2 6/6] migration/migration.c: Fix hang in ram_save_host_page |
Date: |
Wed, 20 May 2020 22:42:32 +0200 |
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 <address@hidden>
---
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
pgpXx6J0_E0N_.pgp
Description: OpenPGP digital signature
- [PATCH v2 0/6] colo: migration related bugfixes, Lukas Straub, 2020/05/20
- [PATCH v2 2/6] migration/colo.c: Use cpu_synchronize_all_states(), Lukas Straub, 2020/05/20
- [PATCH v2 1/6] migration/colo.c: Use event instead of semaphore, Lukas Straub, 2020/05/20
- [PATCH v2 3/6] migration/colo.c: Flush ram cache only after receiving device state, Lukas Straub, 2020/05/20
- [PATCH v2 4/6] migration/colo.c: Relaunch failover even if there was an error, Lukas Straub, 2020/05/20
- [PATCH v2 5/6] migration/colo.c: Move colo_notify_compares_event to the right place, Lukas Straub, 2020/05/20
- [PATCH v2 6/6] migration/migration.c: Fix hang in ram_save_host_page,
Lukas Straub <=