[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 10/11] migration: Allow RECOVER->PAUSED convertion for dest qe
From: |
Peter Xu |
Subject: |
[PATCH v2 10/11] migration: Allow RECOVER->PAUSED convertion for dest qemu |
Date: |
Tue, 12 Sep 2023 18:21:44 -0400 |
There's a bug on dest that if a double fault triggered on dest qemu (a
network issue during postcopy-recover), we won't set PAUSED correctly
because we assumed we always came from ACTIVE.
Fix that by always overwriting the state to PAUSE.
We could also check for these two states, but maybe it's an overkill. We
did the same on the src QEMU to unconditionally switch to PAUSE anyway.
Signed-off-by: Peter Xu <peterx@redhat.com>
---
migration/savevm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/migration/savevm.c b/migration/savevm.c
index bb3e99194c..422406e0ee 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -2723,7 +2723,8 @@ static bool
postcopy_pause_incoming(MigrationIncomingState *mis)
qemu_mutex_unlock(&mis->postcopy_prio_thread_mutex);
}
- migrate_set_state(&mis->state, MIGRATION_STATUS_POSTCOPY_ACTIVE,
+ /* Current state can be either ACTIVE or RECOVER */
+ migrate_set_state(&mis->state, mis->state,
MIGRATION_STATUS_POSTCOPY_PAUSED);
/* Notify the fault thread for the invalidated file handle */
--
2.41.0
- [PATCH v2 04/11] migration: Refactor error handling in source return path, (continued)
- [PATCH v2 04/11] migration: Refactor error handling in source return path, Peter Xu, 2023/09/12
- [PATCH v2 08/11] migration: Add migration_rp_wait|kick(), Peter Xu, 2023/09/12
- [PATCH v2 03/11] migration: Introduce migrate_has_error(), Peter Xu, 2023/09/12
- [PATCH v2 06/11] qemufile: Always return a verbose error, Peter Xu, 2023/09/12
- [PATCH v2 07/11] migration: Remember num of ramblocks to sync during recovery, Peter Xu, 2023/09/12
- [PATCH v2 09/11] migration: Allow network to fail even during recovery, Peter Xu, 2023/09/12
- [PATCH v2 11/11] tests/migration-test: Add a test for postcopy hangs during RECOVER, Peter Xu, 2023/09/12
- [PATCH v2 10/11] migration: Allow RECOVER->PAUSED convertion for dest qemu,
Peter Xu <=