[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 4/7] colo: fixed 'Segmentation fault' when the simplex mode PVM p
From: |
Lei Rao |
Subject: |
[PATCH 4/7] colo: fixed 'Segmentation fault' when the simplex mode PVM poweroff |
Date: |
Thu, 17 Jun 2021 10:47:12 +0800 |
From: "Rao, Lei" <lei.rao@intel.com>
When a PVM completed its SVM failover steps and begins to run in
the simplex mode, QEMU would encounter a 'Segmentation fault' if
the guest poweroff with the following calltrace:
Program received signal SIGSEGV, Segmentation fault.
This is because primary_vm_do_failover() would call "qemu_file_shutdown
(s->rp_state.from_dst_file);" and later the migration_shutdown() would
do it again. So, we should set the s->rp_state.from_dst_file to NULL.
Signed-off-by: Like Xu <like.xu@linux.intel.com>
Signed-off-by: Lei Rao <lei.rao@intel.com>
---
migration/colo.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/migration/colo.c b/migration/colo.c
index 616dc00..c25e488 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -156,14 +156,15 @@ static void primary_vm_do_failover(void)
/*
* Wake up COLO thread which may blocked in recv() or send(),
- * The s->rp_state.from_dst_file and s->to_dst_file may use the
- * same fd, but we still shutdown the fd for twice, it is harmless.
+ * The s->to_dst_file may use the same fd, but we still shutdown
+ * the fd for twice, it is harmless.
*/
if (s->to_dst_file) {
qemu_file_shutdown(s->to_dst_file);
}
if (s->rp_state.from_dst_file) {
qemu_file_shutdown(s->rp_state.from_dst_file);
+ s->rp_state.from_dst_file = NULL;
}
old_state = failover_set_state(FAILOVER_STATUS_ACTIVE,
--
1.8.3.1
- [PATCH 0/7] Fixed some bugs and optimized some codes for COLO, Lei Rao, 2021/06/16
- [PATCH 1/7] Some minor optimizations for COLO, Lei Rao, 2021/06/16
- [PATCH 2/7] Fixed qemu crash when guest power off in COLO mode, Lei Rao, 2021/06/16
- [PATCH 3/7] Fixed SVM hang when do failover before PVM crash, Lei Rao, 2021/06/16
- [PATCH 4/7] colo: fixed 'Segmentation fault' when the simplex mode PVM poweroff,
Lei Rao <=
- [PATCH 6/7] Changed the last-mode to none of first start COLO, Lei Rao, 2021/06/16
- [PATCH 5/7] Removed the qemu_fclose() in colo_process_incoming_thread, Lei Rao, 2021/06/16
- [PATCH 7/7] Optimized the function of fill_connection_key., Lei Rao, 2021/06/16