[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 18/31] qom: Clean up error reporting in user_cre
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH 18/31] qom: Clean up error reporting in user_creatable_add_opts_foreach() |
Date: |
Tue, 9 Oct 2018 15:11:31 +0400 |
Hi
On Mon, Oct 8, 2018 at 9:39 PM Markus Armbruster <address@hidden> wrote:
>
> Calling error_report() in a function that takes an Error ** argument
> is suspicious. user_creatable_add_opts_foreach() does that, and then
> fails without setting an error. Its caller main(), via
> qemu_opts_foreach(), is fine with it, but clean it up anyway.
>
> Cc: Daniel P. Berrangé <address@hidden>
> Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
> ---
> qemu-io.c | 8 +++-----
> qemu-nbd.c | 8 +++-----
> qom/object_interfaces.c | 4 +---
> vl.c | 16 ++++++----------
> 4 files changed, 13 insertions(+), 23 deletions(-)
>
> diff --git a/qemu-io.c b/qemu-io.c
> index 13829f5e21..6df7731af4 100644
> --- a/qemu-io.c
> +++ b/qemu-io.c
> @@ -620,11 +620,9 @@ int main(int argc, char **argv)
> exit(1);
> }
>
> - if (qemu_opts_foreach(&qemu_object_opts,
> - user_creatable_add_opts_foreach,
> - NULL, NULL)) {
> - exit(1);
> - }
> + qemu_opts_foreach(&qemu_object_opts,
> + user_creatable_add_opts_foreach,
> + NULL, &error_fatal);
>
> if (!trace_init_backends()) {
> exit(1);
> diff --git a/qemu-nbd.c b/qemu-nbd.c
> index 7874bc973c..ca7109652e 100644
> --- a/qemu-nbd.c
> +++ b/qemu-nbd.c
> @@ -766,11 +766,9 @@ int main(int argc, char **argv)
> exit(EXIT_FAILURE);
> }
>
> - if (qemu_opts_foreach(&qemu_object_opts,
> - user_creatable_add_opts_foreach,
> - NULL, NULL)) {
> - exit(EXIT_FAILURE);
> - }
> + qemu_opts_foreach(&qemu_object_opts,
> + user_creatable_add_opts_foreach,
> + NULL, &error_fatal);
>
> if (!trace_init_backends()) {
> exit(1);
> diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c
> index 72b97a8bed..4052d6c4a7 100644
> --- a/qom/object_interfaces.c
> +++ b/qom/object_interfaces.c
> @@ -143,7 +143,6 @@ int user_creatable_add_opts_foreach(void *opaque,
> QemuOpts *opts, Error **errp)
> {
> bool (*type_predicate)(const char *) = opaque;
> Object *obj = NULL;
> - Error *err = NULL;
> const char *type;
>
> type = qemu_opt_get(opts, "qom-type");
> @@ -152,9 +151,8 @@ int user_creatable_add_opts_foreach(void *opaque,
> QemuOpts *opts, Error **errp)
> return 0;
> }
>
> - obj = user_creatable_add_opts(opts, &err);
> + obj = user_creatable_add_opts(opts, errp);
> if (!obj) {
> - error_report_err(err);
> return -1;
> }
> object_unref(obj);
> diff --git a/vl.c b/vl.c
> index 7ce8299d9d..b8576f8f10 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -4181,11 +4181,9 @@ int main(int argc, char **argv, char **envp)
> page_size_init();
> socket_init();
>
> - if (qemu_opts_foreach(qemu_find_opts("object"),
> - user_creatable_add_opts_foreach,
> - object_create_initial, NULL)) {
> - exit(1);
> - }
> + qemu_opts_foreach(qemu_find_opts("object"),
> + user_creatable_add_opts_foreach,
> + object_create_initial, &error_fatal);
>
> if (qemu_opts_foreach(qemu_find_opts("chardev"),
> chardev_init_func, NULL, NULL)) {
> @@ -4316,11 +4314,9 @@ int main(int argc, char **argv, char **envp)
> exit(1);
> }
>
> - if (qemu_opts_foreach(qemu_find_opts("object"),
> - user_creatable_add_opts_foreach,
> - object_create_delayed, NULL)) {
> - exit(1);
> - }
> + qemu_opts_foreach(qemu_find_opts("object"),
> + user_creatable_add_opts_foreach,
> + object_create_delayed, &error_fatal);
>
> if (tpm_init() < 0) {
> exit(1);
> --
> 2.17.1
>
>
--
Marc-André Lureau
- [Qemu-devel] [PATCH 23/31] vl: Clean up error reporting in device_init_func(), (continued)
- [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
- [Qemu-devel] [PATCH 08/31] pc: Fix machine property nvdimm-persistence error handling, Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 26/31] tpm: Clean up error reporting in tpm_init_tpmdev(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 09/31] ioapic: Fix error handling in realize(), Markus Armbruster, 2018/10/08