[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 04/40] migration: Set error state in case of error
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PULL 04/40] migration: Set error state in case of error |
Date: |
Wed, 16 May 2018 01:39:41 +0200 |
Signed-off-by: Juan Quintela <address@hidden>
---
migration/ram.c | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/migration/ram.c b/migration/ram.c
index da0b567003..4d8be30676 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -448,10 +448,22 @@ struct {
int count;
} *multifd_send_state;
-static void terminate_multifd_send_threads(Error *errp)
+static void terminate_multifd_send_threads(Error *err)
{
int i;
+ if (err) {
+ MigrationState *s = migrate_get_current();
+ migrate_set_error(s, err);
+ if (s->state == MIGRATION_STATUS_SETUP ||
+ s->state == MIGRATION_STATUS_PRE_SWITCHOVER ||
+ s->state == MIGRATION_STATUS_DEVICE ||
+ s->state == MIGRATION_STATUS_ACTIVE) {
+ migrate_set_state(&s->state, s->state,
+ MIGRATION_STATUS_FAILED);
+ }
+ }
+
for (i = 0; i < multifd_send_state->count; i++) {
MultiFDSendParams *p = &multifd_send_state->params[i];
@@ -548,10 +560,20 @@ struct {
int count;
} *multifd_recv_state;
-static void terminate_multifd_recv_threads(Error *errp)
+static void terminate_multifd_recv_threads(Error *err)
{
int i;
+ if (err) {
+ MigrationState *s = migrate_get_current();
+ migrate_set_error(s, err);
+ if (s->state == MIGRATION_STATUS_SETUP ||
+ s->state == MIGRATION_STATUS_ACTIVE) {
+ migrate_set_state(&s->state, s->state,
+ MIGRATION_STATUS_FAILED);
+ }
+ }
+
for (i = 0; i < multifd_recv_state->count; i++) {
MultiFDRecvParams *p = &multifd_recv_state->params[i];
--
2.17.0
- [Qemu-devel] [PULL 00/40] Migration PULL requset (take 2), Juan Quintela, 2018/05/15
- [Qemu-devel] [PULL 02/40] tests: Add migration precopy test, Juan Quintela, 2018/05/15
- [Qemu-devel] [PULL 01/40] migration: fix saving normal page even if it's been compressed, Juan Quintela, 2018/05/15
- [Qemu-devel] [PULL 03/40] tests: Migration ppc now inlines its program, Juan Quintela, 2018/05/15
- [Qemu-devel] [PULL 05/40] migration: Introduce multifd_recv_new_channel(), Juan Quintela, 2018/05/15
- [Qemu-devel] [PULL 04/40] migration: Set error state in case of error,
Juan Quintela <=
- [Qemu-devel] [PULL 06/40] migration: terminate_* can be called for other threads, Juan Quintela, 2018/05/15
- [Qemu-devel] [PULL 09/40] migration: Create multifd channels, Juan Quintela, 2018/05/15
- [Qemu-devel] [PULL 08/40] migration: Export functions to create send channels, Juan Quintela, 2018/05/15
- [Qemu-devel] [PULL 10/40] migration: Delay start of migration main routines, Juan Quintela, 2018/05/15
[Qemu-devel] [PULL 11/40] migration: Transmit initial package through the multifd channels, Juan Quintela, 2018/05/15