[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 22/31] vl: Clean up error reporting in parse_fw_
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH 22/31] vl: Clean up error reporting in parse_fw_cfg() |
Date: |
Tue, 9 Oct 2018 15:25:46 +0400 |
Hi
On Mon, Oct 8, 2018 at 9:57 PM Markus Armbruster <address@hidden> wrote:
>
> Calling error_report() in a function that takes an Error ** argument
> is suspicious. parse_fw_cfg() 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.
>
> Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
> ---
> vl.c | 17 ++++++++---------
> 1 file changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index 1009d708a0..a3a39ec06b 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2174,7 +2174,7 @@ static int parse_fw_cfg(void *opaque, QemuOpts *opts,
> Error **errp)
> FWCfgState *fw_cfg = (FWCfgState *) opaque;
>
> if (fw_cfg == NULL) {
> - error_report("fw_cfg device not available");
> + error_setg(errp, "fw_cfg device not available");
> return -1;
> }
> name = qemu_opt_get(opts, "name");
> @@ -2183,15 +2183,16 @@ static int parse_fw_cfg(void *opaque, QemuOpts *opts,
> Error **errp)
>
> /* we need name and either a file or the content string */
> if (!(nonempty_str(name) && (nonempty_str(file) || nonempty_str(str)))) {
> - error_report("invalid argument(s)");
> + error_setg(errp, "invalid argument(s)");
> return -1;
> }
> if (nonempty_str(file) && nonempty_str(str)) {
> - error_report("file and string are mutually exclusive");
> + error_setg(errp, "file and string are mutually exclusive");
> return -1;
> }
> if (strlen(name) > FW_CFG_MAX_FILE_PATH - 1) {
> - error_report("name too long (max. %d char)", FW_CFG_MAX_FILE_PATH -
> 1);
> + error_setg(errp, "name too long (max. %d char)",
> + FW_CFG_MAX_FILE_PATH - 1);
> return -1;
> }
> if (strncmp(name, "opt/", 4) != 0) {
> @@ -2203,7 +2204,7 @@ static int parse_fw_cfg(void *opaque, QemuOpts *opts,
> Error **errp)
> buf = g_memdup(str, size);
> } else {
> if (!g_file_get_contents(file, &buf, &size, NULL)) {
> - error_report("can't load %s", file);
> + error_setg(errp, "can't load %s", file);
> return -1;
> }
> }
> @@ -4429,10 +4430,8 @@ int main(int argc, char **argv, char **envp)
> hax_sync_vcpus();
> }
>
> - if (qemu_opts_foreach(qemu_find_opts("fw_cfg"),
> - parse_fw_cfg, fw_cfg_find(), NULL) != 0) {
> - exit(1);
> - }
> + qemu_opts_foreach(qemu_find_opts("fw_cfg"),
> + parse_fw_cfg, fw_cfg_find(), &error_fatal);
>
> /* init USB devices */
> if (machine_usb(current_machine)) {
> --
> 2.17.1
>
>
--
Marc-André Lureau
- Re: [Qemu-devel] [PATCH 19/31] vl: Clean up error reporting in parse_add_fd(), (continued)
- [Qemu-devel] [PATCH 12/31] l2tpv3: Improve -netdev/netdev_add/-net/... error reporting, Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 16/31] seccomp: Clean up error reporting in parse_sandbox(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 22/31] vl: Clean up error reporting in parse_fw_cfg(), Markus Armbruster, 2018/10/08
- Re: [Qemu-devel] [PATCH 22/31] vl: Clean up error reporting in parse_fw_cfg(),
Marc-André Lureau <=
- [Qemu-devel] [PATCH 17/31] vl: Clean up error reporting in parse_add_fd(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 06/31] char: Use error_printf() to print help and such, Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 02/31] block: Use warn_report() & friends to report warnings, Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 27/31] spice: Clean up error reporting in add_channel(), Markus Armbruster, 2018/10/08
- [Qemu-devel] [PATCH 10/31] smbios: Clean up error handling in smbios_add(), Markus Armbruster, 2018/10/08