This is an incremental step in converting vmstate loading code to report via Error objects instead of printing directly to the console/monitor.
Signed-off-by: Daniel P. Berrangé <berra...@redhat.com> --- migration/savevm.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/migration/savevm.c b/migration/savevm.c index 318ba547bc..3b46fbba32 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -1329,7 +1329,8 @@ void qemu_savevm_state_complete_postcopy(QEMUFile *f) } static -int qemu_savevm_state_complete_precopy_iterable(QEMUFile *f, bool in_postcopy) +int qemu_savevm_state_complete_precopy_iterable(QEMUFile *f, bool in_postcopy, + Error **errp) { SaveStateEntry *se; int ret; @@ -1355,6 +1356,8 @@ int qemu_savevm_state_complete_precopy_iterable(QEMUFile *f, bool in_postcopy) trace_savevm_section_end(se->idstr, se->section_id, ret); save_section_footer(f, se); if (ret < 0) { + error_setg_errno(errp, -ret, + "failed to complete precopy device state save"); qemu_file_set_error(f, ret); return -1; } @@ -1450,9 +1453,10 @@ int qemu_savevm_state_complete_precopy(QEMUFile *f, bool iterable_only, cpu_synchronize_all_states(); if (!in_postcopy || iterable_only) { - ret = qemu_savevm_state_complete_precopy_iterable(f, in_postcopy); - if (ret) { - return ret; + if (qemu_savevm_state_complete_precopy_iterable(f, in_postcopy, + &local_err) < 0) { + error_report_err(local_err); + return -1; } } -- 2.29.2