[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 06/11] pseries: Improve error handling in find_u
From: |
Thomas Huth |
Subject: |
Re: [Qemu-devel] [PATCH 06/11] pseries: Improve error handling in find_unknown_sysbus_device() |
Date: |
Fri, 11 Dec 2015 10:49:40 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 11/12/15 01:11, David Gibson wrote:
> Use error_setg() to return an error instead of using an explicit exit().
>
> Signed-off-by: David Gibson <address@hidden>
> ---
> hw/ppc/spapr.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 0ff09b9..fd16db4 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -1107,6 +1107,7 @@ static void spapr_reset_htab(sPAPRMachineState *spapr,
> Error **errp)
>
> static int find_unknown_sysbus_device(SysBusDevice *sbdev, void *opaque)
> {
> + Error **errp = opaque;
> bool matched = false;
>
> if (object_dynamic_cast(OBJECT(sbdev), TYPE_SPAPR_PCI_HOST_BRIDGE)) {
> @@ -1114,9 +1115,9 @@ static int find_unknown_sysbus_device(SysBusDevice
> *sbdev, void *opaque)
> }
>
> if (!matched) {
> - error_report("Device %s is not supported by this machine yet.",
> - qdev_fw_name(DEVICE(sbdev)));
> - exit(1);
> + error_setg(errp,
> + "Device %s is not supported by this machine yet",
> + qdev_fw_name(DEVICE(sbdev)));
> }
>
> return 0;
> @@ -1151,7 +1152,7 @@ static void ppc_spapr_reset(void)
> uint32_t rtas_limit;
>
> /* Check for unknown sysbus devices */
> - foreach_dynamic_sysbus_device(find_unknown_sysbus_device, NULL);
> + foreach_dynamic_sysbus_device(find_unknown_sysbus_device, &error_abort);
>
> /* Reset the hash table & recalc the RMA */
> spapr_reset_htab(spapr, &error_abort);
Can this error be triggered by the user (by plugging certain devices or
so)? If so, I'm not sure whether error_abort is the right thing to use
here ... it's always ugly if the user can trigger an abort directly.
Maybe error_fatal would be better instead?
Thomas
- [Qemu-devel] [PATCH 10/11] pseries: Clean up error handling in ppc_spapr_init(), (continued)
- [Qemu-devel] [PATCH 10/11] pseries: Clean up error handling in ppc_spapr_init(), David Gibson, 2015/12/10
- [Qemu-devel] [PATCH 03/11] pseries: Clean up hash page table allocation error handling, David Gibson, 2015/12/10
- [Qemu-devel] [PATCH 07/11] pseries: Cleanup error handling in spapr_kvm_type(), David Gibson, 2015/12/10
- [Qemu-devel] [PATCH 06/11] pseries: Improve error handling in find_unknown_sysbus_device(), David Gibson, 2015/12/10
- [Qemu-devel] [PATCH 01/11] ppc: Cleanup error handling in ppc_set_compat(), David Gibson, 2015/12/10