summary refs log tree commit diff stats
path: root/migration/migration.h
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>2024-04-30 11:56:46 +0300
committerFabiano Rosas <farosas@suse.de>2024-05-08 09:20:58 -0300
commitdbea1c89dad37a6ab96befd017d33edaa50ded0a (patch)
tree108c307739ba32ad19cb101b8a1fa06fb0daf265 /migration/migration.h
parentf84eaa9ffdcf00a81922fc1380870775a60792bf (diff)
downloadfocaccia-qemu-dbea1c89dad37a6ab96befd017d33edaa50ded0a.tar.gz
focaccia-qemu-dbea1c89dad37a6ab96befd017d33edaa50ded0a.zip
qapi: introduce exit-on-error parameter for migrate-incoming
Now we do set MIGRATION_FAILED state, but don't give a chance to
orchestrator to query migration state and get the error.

Let's provide a possibility for QMP-based orchestrators to get an error
like with outgoing migration.

For hmp_migrate_incoming(), let's enable the new behavior: HMP is not
and ABI, it's mostly intended to use by developer and it makes sense
not to stop the process.

For x-exit-preconfig, let's keep the old behavior:
 - it's called from init(), so here we want to keep current behavior by
   default
 - it does exit on error by itself as well
So, if we want to change the behavior of x-exit-preconfig, it should be
another patch.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Acked-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Diffstat (limited to 'migration/migration.h')
-rw-r--r--migration/migration.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/migration/migration.h b/migration/migration.h
index 6c612c0381..f3406c43c8 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -227,6 +227,9 @@ struct MigrationIncomingState {
      * is needed as this field is updated serially.
      */
     unsigned int switchover_ack_pending_num;
+
+    /* Do exit on incoming migration failure */
+    bool exit_on_error;
 };
 
 MigrationIncomingState *migration_incoming_get_current(void);