This is an incremental step in converting vmstate loading code to report error via Error objects instead of directly printing it to console/monitor. It is ensured that loadvm_postcopy_handle_switchover_start() must report an error in errp, in case of failure.
Signed-off-by: Arun Menon <arme...@redhat.com> --- migration/savevm.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/migration/savevm.c b/migration/savevm.c index 755ba7e4504d377a4649da191ad9875d9fd66f69..a23c242a5f05f85a8544924c464480810995815e 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -2527,7 +2527,7 @@ static int loadvm_process_enable_colo(MigrationIncomingState *mis, return ret; } -static int loadvm_postcopy_handle_switchover_start(void) +static int loadvm_postcopy_handle_switchover_start(Error **errp) { SaveStateEntry *se; @@ -2540,6 +2540,7 @@ static int loadvm_postcopy_handle_switchover_start(void) ret = se->ops->switchover_start(se->opaque); if (ret < 0) { + error_setg(errp, "Switchover start failed: %d", ret); return ret; } } @@ -2648,12 +2649,7 @@ static int loadvm_process_command(QEMUFile *f, Error **errp) return loadvm_process_enable_colo(mis, errp); case MIG_CMD_SWITCHOVER_START: - ret = loadvm_postcopy_handle_switchover_start(); - if (ret < 0) { - error_setg(errp, "Failed to load device state command: %d", ret); - return -1; - } - return ret; + return loadvm_postcopy_handle_switchover_start(errp); } return 0; -- 2.50.0