Re: [PATCH v2] ubifs: compress lines for immediate return

From: Masahiro Yamada
Date: Mon Sep 05 2016 - 08:45:12 EST


Hi Heiko, Richard,




2016-09-05 15:54 GMT+09:00 Heiko Schocher <hs@xxxxxxx>:
> From: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
>
> Cleanup the following code construct:
> ret = expression;
> if (ret)
> return ret;
> return 0;
>
> into a simple form:
> return expression;
>
> From: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> posted on the U-Boot mailinglist.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> Signed-off-by: Heiko Schocher <hs@xxxxxxx>



I am the author of the original patch in the U-Boot ML.

Please notice it has not passed the review in U-Boot ML yet.
Actually, I got some feedback against this patch.

See
http://patchwork.ozlabs.org/patch/665199/

Stephan Warren suggested that
we should not break code uniformity.


After I considered it and took a closer look,
I decided that we should not do these changes.


This patch breaks the code uniformity.
See blow:




> /**
> diff --git a/fs/ubifs/gc.c b/fs/ubifs/gc.c
> index 821b348..88cd61d 100644
> --- a/fs/ubifs/gc.c
> +++ b/fs/ubifs/gc.c
> @@ -297,10 +297,8 @@ static int sort_nodes(struct ubifs_info *c, struct ubifs_scan_leb *sleb,
> err = dbg_check_data_nodes_order(c, &sleb->nodes);
> if (err)
> return err;
> - err = dbg_check_nondata_nodes_order(c, nondata);
> - if (err)
> - return err;
> - return 0;
> +
> + return dbg_check_nondata_nodes_order(c, nondata);
> }

Original code has uniformity here.


err = dbg_check_data_nodes_order(c, &sleb->nodes);
if (err)
return err;
err = dbg_check_nondata_nodes_order(c, nondata);
if (err)
return err;



> /**
> diff --git a/fs/ubifs/lpt_commit.c b/fs/ubifs/lpt_commit.c
> index ce89bdc..79a8e96 100644
> --- a/fs/ubifs/lpt_commit.c
> +++ b/fs/ubifs/lpt_commit.c
> @@ -313,10 +313,7 @@ static int layout_cnodes(struct ubifs_info *c)
> alen = ALIGN(offs, c->min_io_size);
> upd_ltab(c, lnum, c->leb_size - alen, alen - offs);
> dbg_chk_lpt_sz(c, 4, alen - offs);
> - err = dbg_chk_lpt_sz(c, 3, alen);
> - if (err)
> - return err;
> - return 0;
> + return dbg_chk_lpt_sz(c, 3, alen);
>

We have dbg_chk_lpt_sz() call just above (its return value is ignored)

So, returning the value of the last dbg_chk_lpt_sz() call
seems a bit weird. So, I do not want to touch this.




Heiko,
If you want to post this patch, it is up to you.
But, in that case, could you drop my Author and Signed-off-by,
then send it as your patch, please?

I do not feel comfortable with my authorship
for what I decided to not do.


I will retract my original patch from the U-Boot ML, too.




--
Best Regards
Masahiro Yamada