[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 5/6] migration/colo.c: Move colo_notify_compares_event to the
From: |
Lukas Straub |
Subject: |
[PATCH v2 5/6] migration/colo.c: Move colo_notify_compares_event to the right place |
Date: |
Wed, 20 May 2020 22:42:27 +0200 |
If the secondary has to failover during checkpointing, it still is
in the old state (i.e. different state than primary). Thus we can't
expose the primary state until after the checkpoint is sent.
This fixes sporadic connection reset of client connections during
failover.
Signed-off-by: Lukas Straub <address@hidden>
Reviewed-by: zhanghailiang <address@hidden>
---
migration/colo.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/migration/colo.c b/migration/colo.c
index a69782efc5..a3fc21e86e 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -430,12 +430,6 @@ static int colo_do_checkpoint_transaction(MigrationState
*s,
goto out;
}
- qemu_event_reset(&s->colo_checkpoint_event);
- colo_notify_compares_event(NULL, COLO_EVENT_CHECKPOINT, &local_err);
- if (local_err) {
- goto out;
- }
-
/* Disable block migration */
migrate_set_block_enabled(false, &local_err);
qemu_mutex_lock_iothread();
@@ -494,6 +488,12 @@ static int colo_do_checkpoint_transaction(MigrationState
*s,
goto out;
}
+ qemu_event_reset(&s->colo_checkpoint_event);
+ colo_notify_compares_event(NULL, COLO_EVENT_CHECKPOINT, &local_err);
+ if (local_err) {
+ goto out;
+ }
+
colo_receive_check_message(s->rp_state.from_dst_file,
COLO_MESSAGE_VMSTATE_LOADED, &local_err);
if (local_err) {
--
2.20.1
pgpFA_qfWlbC6.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 <=
- [PATCH v2 6/6] migration/migration.c: Fix hang in ram_save_host_page, Lukas Straub, 2020/05/20