[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 11/31] migration: Fix !replay_can_snapshot() err
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH 11/31] migration: Fix !replay_can_snapshot() error handling |
Date: |
Tue, 9 Oct 2018 13:27:16 +0400 |
Hi
On Mon, Oct 8, 2018 at 9:33 PM Markus Armbruster <address@hidden> wrote:
>
> 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>
> ---
> 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.1
>
>
--
Marc-André Lureau
- [Qemu-devel] [PATCH 00/31] Replace some unwise uses of error_report() & friends, Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 11/31] migration: Fix !replay_can_snapshot() error handling, Markus Armbruster, 2018/10/08
- Re: [Qemu-devel] [PATCH 11/31] migration: Fix !replay_can_snapshot() error handling,
Marc-André Lureau <=
- [Qemu-devel] [PATCH 23/31] vl: Clean up error reporting in device_init_func(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 24/31] vl: Clean up error reporting in vnc_init_func(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 21/31] vl: Clean up error reporting in mon_init_func(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 18/31] qom: Clean up error reporting in user_creatable_add_opts_foreach(), Markus Armbruster, 2018/10/08