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/migration.c | 4 +++- migration/savevm.c | 9 +++++---- migration/savevm.h | 3 ++- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 2ccb1b66b5..984276d066 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -2927,7 +2927,9 @@ static int postcopy_start(MigrationState *ms) restart_block = false; /* Now send that blob */ - if (qemu_savevm_send_packaged(ms->to_dst_file, bioc->data, bioc->usage)) { + if (qemu_savevm_send_packaged(ms->to_dst_file, bioc->data, bioc->usage, + &local_err)) { + error_report_err(local_err); goto fail_closefb; } qemu_fclose(fb); diff --git a/migration/savevm.c b/migration/savevm.c index d6c36e6b6b..deea8854db 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -1002,15 +1002,16 @@ void qemu_savevm_send_open_return_path(QEMUFile *f) * * Returns: * 0 on success - * -ve on error + * -1 on error */ -int qemu_savevm_send_packaged(QEMUFile *f, const uint8_t *buf, size_t len) +int qemu_savevm_send_packaged(QEMUFile *f, const uint8_t *buf, size_t len, + Error **errp) { uint32_t tmp; if (len > MAX_VM_CMD_PACKAGED_SIZE) { - error_report("%s: Unreasonably large packaged state: %zu", - __func__, len); + error_setg(errp, "unreasonably large packaged state: %zu > %d", + len, MAX_VM_CMD_PACKAGED_SIZE); return -1; } diff --git a/migration/savevm.h b/migration/savevm.h index e3120a4fb0..2d46e848cd 100644 --- a/migration/savevm.h +++ b/migration/savevm.h @@ -46,7 +46,8 @@ void qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size, uint64_t *res_postcopy_only); void qemu_savevm_send_ping(QEMUFile *f, uint32_t value); void qemu_savevm_send_open_return_path(QEMUFile *f); -int qemu_savevm_send_packaged(QEMUFile *f, const uint8_t *buf, size_t len); +int qemu_savevm_send_packaged(QEMUFile *f, const uint8_t *buf, size_t len, + Error **errp); void qemu_savevm_send_postcopy_advise(QEMUFile *f); void qemu_savevm_send_postcopy_listen(QEMUFile *f); void qemu_savevm_send_postcopy_run(QEMUFile *f); -- 2.29.2