[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2/3] error: Remove unnecessary local_err vari
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/3] error: Remove unnecessary local_err variables |
Date: |
Fri, 10 Jun 2016 19:39:30 -0300 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Fri, Jun 10, 2016 at 02:59:55PM -0600, Eric Blake wrote:
> On 06/10/2016 02:12 PM, Eduardo Habkost wrote:
> > This patch simplifies code that uses a local_err variable just to
> > immediately use it for an error_propagate() call.
> >
> > Coccinelle patch used to perform the changes added to
> > scripts/coccinelle/remove_local_err.cocci.
> >
> > Signed-off-by: Eduardo Habkost <address@hidden>
> > ---
> > block.c | 8 ++------
> > block/raw-posix.c | 8 ++------
> > block/raw_bsd.c | 4 +---
> > blockdev.c | 16 +++++-----------
> > hw/s390x/s390-virtio-ccw.c | 5 +----
> > hw/s390x/virtio-ccw.c | 28 +++++++---------------------
> > scripts/coccinelle/remove_local_err.cocci | 27 +++++++++++++++++++++++++++
> > target-i386/cpu.c | 4 +---
> > 8 files changed, 46 insertions(+), 54 deletions(-)
> > create mode 100644 scripts/coccinelle/remove_local_err.cocci
> >
>
> > +++ b/block.c
> > @@ -294,14 +294,12 @@ typedef struct CreateCo {
> >
> > static void coroutine_fn bdrv_create_co_entry(void *opaque)
> > {
> > - Error *local_err = NULL;
> > int ret;
> >
> > CreateCo *cco = opaque;
> > assert(cco->drv);
> >
> > - ret = cco->drv->bdrv_create(cco->filename, cco->opts, &local_err);
> > - error_propagate(&cco->err, local_err);
> > + ret = cco->drv->bdrv_create(cco->filename, cco->opts, &cco->err);
> > cco->ret = ret;
>
> This hunk doesn't get simplified by 3/3; you may want to consider a
> manual followup to drop 'int ret' and just assign
> cco->drv->bdrv_create() directly to cco->ret. But doesn't change this
> patch.
This could become yet another Coccinelle script, but we need to
be careful about type conversions, and tell it to do it only if
the types of 'ret', 'cc->drv->bdrv_create()' and 'cco->ret' are
the same.
--
Eduardo
- [Qemu-devel] [PATCH v2 0/3] coccinelle: Clean up error checks and return value variables, Eduardo Habkost, 2016/06/10
- [Qemu-devel] [PATCH v2 1/3] error: Remove NULL checks on error_propagate() calls, Eduardo Habkost, 2016/06/10
- [Qemu-devel] [PATCH v2 2/3] error: Remove unnecessary local_err variables, Eduardo Habkost, 2016/06/10
- Re: [Qemu-devel] [PATCH v2 2/3] error: Remove unnecessary local_err variables, Eric Blake, 2016/06/10
- Re: [Qemu-devel] [PATCH v2 2/3] error: Remove unnecessary local_err variables,
Eduardo Habkost <=
- Re: [Qemu-devel] [PATCH v2 2/3] error: Remove unnecessary local_err variables, Cornelia Huck, 2016/06/13
- Re: [Qemu-devel] [PATCH v2 2/3] error: Remove unnecessary local_err variables, Markus Armbruster, 2016/06/13
- Re: [Qemu-devel] [PATCH v2 2/3] error: Remove unnecessary local_err variables, Eduardo Habkost, 2016/06/13
- Re: [Qemu-devel] [Qemu-block] [PATCH v2 2/3] error: Remove unnecessary local_err variables, Eric Blake, 2016/06/13
- Re: [Qemu-devel] [Qemu-block] [PATCH v2 2/3] error: Remove unnecessary local_err variables, Markus Armbruster, 2016/06/13
- Re: [Qemu-devel] [Qemu-block] [PATCH v2 2/3] error: Remove unnecessary local_err variables, Eduardo Habkost, 2016/06/13
- Re: [Qemu-devel] [Qemu-block] [PATCH v2 2/3] error: Remove unnecessary local_err variables, Markus Armbruster, 2016/06/14
- Re: [Qemu-devel] [Qemu-block] [PATCH v2 2/3] error: Remove unnecessary local_err variables, Eduardo Habkost, 2016/06/13
[Qemu-devel] [RFC v2 3/3] Remove unnecessary variables for function return value, Eduardo Habkost, 2016/06/10