qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 01/31] Use error_fatal to simplify obvious fatal


From: David Gibson
Subject: Re: [Qemu-devel] [PATCH 01/31] Use error_fatal to simplify obvious fatal errors (again)
Date: Tue, 9 Oct 2018 09:25:20 +1100
User-agent: Mutt/1.10.1 (2018-07-13)

On Mon, Oct 08, 2018 at 07:30:55PM +0200, Markus Armbruster wrote:
> Add a slight improvement of the Coccinelle semantic patch from commit
> 07d04a0219b, and use it to clean up.  It leaves dead Error * variables
> behind, cleaned up manually.
> 
> Cc: David Gibson <address@hidden>
> Cc: Alexander Graf <address@hidden>
> Cc: Eric Blake <address@hidden>
> Cc: Paolo Bonzini <address@hidden>
> Signed-off-by: Markus Armbruster <address@hidden>

ppc part

Acked-by: David Gibson <address@hidden>

> ---
>  hw/intc/xics_kvm.c                       |  7 +------
>  qemu-nbd.c                               |  6 +-----
>  scripts/coccinelle/use-error_fatal.cocci | 20 ++++++++++++++++++++
>  vl.c                                     |  7 +------
>  4 files changed, 23 insertions(+), 17 deletions(-)
>  create mode 100644 scripts/coccinelle/use-error_fatal.cocci
> 
> diff --git a/hw/intc/xics_kvm.c b/hw/intc/xics_kvm.c
> index 30c3769a20..e8fa9a53ae 100644
> --- a/hw/intc/xics_kvm.c
> +++ b/hw/intc/xics_kvm.c
> @@ -198,17 +198,12 @@ static void ics_get_kvm_state(ICSState *ics)
>  {
>      uint64_t state;
>      int i;
> -    Error *local_err = NULL;
>  
>      for (i = 0; i < ics->nr_irqs; i++) {
>          ICSIRQState *irq = &ics->irqs[i];
>  
>          kvm_device_access(kernel_xics_fd, KVM_DEV_XICS_GRP_SOURCES,
> -                          i + ics->offset, &state, false, &local_err);
> -        if (local_err) {
> -            error_report_err(local_err);
> -            exit(1);
> -        }
> +                          i + ics->offset, &state, false, &error_fatal);
>  
>          irq->server = state & KVM_XICS_DESTINATION_MASK;
>          irq->saved_priority = (state >> KVM_XICS_PRIORITY_SHIFT)
> diff --git a/qemu-nbd.c b/qemu-nbd.c
> index e76fe3082a..7874bc973c 100644
> --- a/qemu-nbd.c
> +++ b/qemu-nbd.c
> @@ -1002,11 +1002,7 @@ int main(int argc, char **argv)
>      }
>  
>      exp = nbd_export_new(bs, dev_offset, fd_size, nbdflags, 
> nbd_export_closed,
> -                         writethrough, NULL, &local_err);
> -    if (!exp) {
> -        error_report_err(local_err);
> -        exit(EXIT_FAILURE);
> -    }
> +                         writethrough, NULL, &error_fatal);
>      nbd_export_set_name(exp, export_name);
>      nbd_export_set_description(exp, export_description);
>  
> diff --git a/scripts/coccinelle/use-error_fatal.cocci 
> b/scripts/coccinelle/use-error_fatal.cocci
> new file mode 100644
> index 0000000000..10fff0aec4
> --- /dev/null
> +++ b/scripts/coccinelle/use-error_fatal.cocci
> @@ -0,0 +1,20 @@
> +@@
> +type T;
> +identifier FUN, RET;
> +expression list ARGS;
> +expression ERR, EC, FAIL;
> +@@
> +(
> +-    T RET = FUN(ARGS, &ERR);
> ++    T RET = FUN(ARGS, &error_fatal);
> +|
> +-    RET = FUN(ARGS, &ERR);
> ++    RET = FUN(ARGS, &error_fatal);
> +|
> +-    FUN(ARGS, &ERR);
> ++    FUN(ARGS, &error_fatal);
> +)
> +-    if (FAIL) {
> +-        error_report_err(ERR);
> +-        exit(EC);
> +-    }
> diff --git a/vl.c b/vl.c
> index a867c9c4d9..9d2b38a31f 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2002,15 +2002,10 @@ static void select_vgahw(const char *p)
>  
>  static void parse_display_qapi(const char *optarg)
>  {
> -    Error *err = NULL;
>      DisplayOptions *opts;
>      Visitor *v;
>  
> -    v = qobject_input_visitor_new_str(optarg, "type", &err);
> -    if (!v) {
> -        error_report_err(err);
> -        exit(1);
> -    }
> +    v = qobject_input_visitor_new_str(optarg, "type", &error_fatal);
>  
>      visit_type_DisplayOptions(v, NULL, &opts, &error_fatal);
>      QAPI_CLONE_MEMBERS(DisplayOptions, &dpy, opts);

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]