[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 14/40] migration: Fix !replay_can_snapshot() error ha
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL 14/40] migration: Fix !replay_can_snapshot() error handling |
Date: |
Mon, 22 Oct 2018 14:33:47 +0200 |
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 <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
---
migration/savevm.c | 8 ++++----
1 file 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;
}
--
2.17.2
- [Qemu-devel] [PULL 30/40] numa: Clean up error reporting in parse_numa(), (continued)
- [Qemu-devel] [PULL 30/40] numa: Clean up error reporting in parse_numa(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 08/40] vfio: Clean up error reporting after previous commit, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 16/40] net/socket: Fix invalid socket type error handling, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 19/40] seccomp: Clean up error reporting in parse_sandbox(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 28/40] ui: Convert vnc_display_init(), init_keyboard_layout() to Error, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 33/40] fsdev: Clean up error reporting in qemu_fsdev_add(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 09/40] char: Use error_printf() to print help and such, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 21/40] qom: Clean up error reporting in user_creatable_add_opts_foreach(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 17/40] numa: Fix QMP command set-numa-node error handling, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 13/40] smbios: Clean up error handling in smbios_add(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 14/40] migration: Fix !replay_can_snapshot() error handling,
Markus Armbruster <=
- [Qemu-devel] [PULL 02/40] vl: Print error when using incorrect backend for debugcon, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 29/40] vnc: Clean up error reporting in vnc_init_func(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 26/40] vl: Clean up error reporting in device_init_func(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 34/40] vl: Assert drive_new() does not fail in default_drive(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 36/40] vl: Fix exit status for -drive format=help, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 15/40] l2tpv3: Improve -netdev/netdev_add/-net/... error reporting, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 37/40] vl: Simplify call of parse_name(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 31/40] tpm: Clean up error reporting in tpm_init_tpmdev(), Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 38/40] block: Clean up bdrv_img_create()'s error reporting, Markus Armbruster, 2018/10/22
- [Qemu-devel] [PULL 18/40] xen/pt: Fix incomplete conversion to realize(), Markus Armbruster, 2018/10/22