Signed-off-by: Juan Quintela <quint...@redhat.com> --- migration/ram.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
diff --git a/migration/ram.c b/migration/ram.c index 3b6c077964..4a56a85d53 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -414,6 +414,16 @@ static void terminate_multifd_send_threads(Error *errp) { int i; + if (errp) { + MigrationState *s = migrate_get_current(); + migrate_set_error(s, errp); + 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_send_state->count; i++) { MultiFDSendParams *p = &multifd_send_state->params[i]; @@ -514,6 +524,16 @@ static void terminate_multifd_recv_threads(Error *errp) { int i; + if (errp) { + MigrationState *s = migrate_get_current(); + migrate_set_error(s, errp); + 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.14.3