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 commit377b21ccea
(v2.12.0) added incorrect error handling right next to correct examples. Fix by calling error_setg() instead of error_report(). Fixes:377b21ccea
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>
This commit is contained in:
parent
1028283c60
commit
4dd32b3dda
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user