[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 03/33] migration: push Error **errp into qemu_loadvm_state_se
From: |
Markus Armbruster |
Subject: |
Re: [PATCH 03/33] migration: push Error **errp into qemu_loadvm_state_setup() |
Date: |
Fri, 05 Feb 2021 08:50:12 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Daniel P. Berrangé <berrange@redhat.com> writes:
> 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é <berrange@redhat.com>
> ---
> migration/savevm.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/migration/savevm.c b/migration/savevm.c
> index 870199b629..f4ed14a230 100644
> --- a/migration/savevm.c
> +++ b/migration/savevm.c
> @@ -2490,7 +2490,7 @@ static int qemu_loadvm_state_header(QEMUFile *f, Error
> **errp)
> return 0;
> }
>
> -static int qemu_loadvm_state_setup(QEMUFile *f)
> +static int qemu_loadvm_state_setup(QEMUFile *f, Error **errp)
> {
> SaveStateEntry *se;
> int ret;
> @@ -2509,7 +2509,7 @@ static int qemu_loadvm_state_setup(QEMUFile *f)
> ret = se->ops->load_setup(f, se->opaque);
> if (ret < 0) {
> qemu_file_set_error(f, ret);
> - error_report("Load state of device %s failed", se->idstr);
> + error_setg(errp, "Load state of device %s failed", se->idstr);
> return ret;
> }
> }
> @@ -2656,8 +2656,7 @@ int qemu_loadvm_state(QEMUFile *f, Error **errp)
> return -1;
> }
>
> - if (qemu_loadvm_state_setup(f) != 0) {
> - error_setg(errp, "Error %d while loading VM state", -EINVAL);
> + if (qemu_loadvm_state_setup(f, errp) < 0) {
> return -1;
> }
Drive-by remark, *not* a demand: I don't like "0 on success, -1 on
failure". When we return just one value on success and one on failure,
I prefer true and false. Negative value on failure is of course fine
for returning error codes, and were we want to return arbitrary
non-negative values on success.
- Re: [PATCH 01/33] migration: push Error **errp into qemu_loadvm_state(), (continued)
- [PATCH 02/33] migration: push Error **errp into qemu_loadvm_state_header(), Daniel P . Berrangé, 2021/02/04
- [PATCH 04/33] migration: push Error **errp into qemu_load_device_state(), Daniel P . Berrangé, 2021/02/04
- [PATCH 07/33] migration: push Error **errp into qemu_loadvm_section_part_end(), Daniel P . Berrangé, 2021/02/04
- [PATCH 09/33] migration: push Error **errp into loadvm_handle_cmd_packaged(), Daniel P . Berrangé, 2021/02/04
- [PATCH 03/33] migration: push Error **errp into qemu_loadvm_state_setup(), Daniel P . Berrangé, 2021/02/04
- [PATCH 05/33] migration: push Error **errp into qemu_loadvm_state_main(), Daniel P . Berrangé, 2021/02/04
- [PATCH 06/33] migration: push Error **errp into qemu_loadvm_section_start_full(), Daniel P . Berrangé, 2021/02/04
- [PATCH 08/33] migration: push Error **errp into loadvm_process_command(), Daniel P . Berrangé, 2021/02/04
- [PATCH 10/33] migration: push Error **errp into loadvm_postcopy_handle_advise(), Daniel P . Berrangé, 2021/02/04
- [PATCH 11/33] migration: push Error **errp into ram_postcopy_incoming_init(), Daniel P . Berrangé, 2021/02/04