summaryrefslogtreecommitdiffstats
path: root/migration
diff options
context:
space:
mode:
authorMarkus Armbruster2018-10-17 10:26:36 +0200
committerMarkus Armbruster2018-10-19 14:51:34 +0200
commit4dd32b3dda3ebc3ac9dd6b951a40a3e4f2f0fd47 (patch)
treebc87057c196b1c503f697197e7b595046101585e /migration
parentsmbios: Clean up error handling in smbios_add() (diff)
downloadqemu-4dd32b3dda3ebc3ac9dd6b951a40a3e4f2f0fd47.tar.gz
qemu-4dd32b3dda3ebc3ac9dd6b951a40a3e4f2f0fd47.tar.xz
qemu-4dd32b3dda3ebc3ac9dd6b951a40a3e4f2f0fd47.zip
migration: Fix !replay_can_snapshot() error handling
Calling error_report() in a function that takes an Error ** argument is suspicious. save_snapshot() and load_snapshot() do that, and then fail without setting an error. Wrong. The HMP commands survive this unscathed, since hmp_handle_error() does nothing when no error has been set. Callers main() (on behalf of -loadvm) and replay_vmstate_init() crash, but I'm not sure the error is possible there. Screwed up when commit 377b21ccea1 (v2.12.0) added incorrect error handling right next to correct examples. Fix by calling error_setg() instead of error_report(). Fixes: 377b21ccea1755a8b0dae822c29567c58dda6939 Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20181017082702.5581-13-armbru@redhat.com>
Diffstat (limited to 'migration')
-rw-r--r--migration/savevm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/migration/savevm.c b/migration/savevm.c
index 2d10e45582..5f8eb38676 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -2414,8 +2414,8 @@ int save_snapshot(const char *name, Error **errp)
AioContext *aio_context;
if (!replay_can_snapshot()) {
- error_report("Record/replay does not allow making snapshot "
- "right now. Try once more later.");
+ error_setg(errp, "Record/replay does not allow making snapshot "
+ "right now. Try once more later.");
return ret;
}
@@ -2611,8 +2611,8 @@ int load_snapshot(const char *name, Error **errp)
MigrationIncomingState *mis = migration_incoming_get_current();
if (!replay_can_snapshot()) {
- error_report("Record/replay does not allow loading snapshot "
- "right now. Try once more later.");
+ error_setg(errp, "Record/replay does not allow loading snapshot "
+ "right now. Try once more later.");
return -EINVAL;
}