Re: [PATCH 3/4] fs: befs: Remove useless calls to brelse in befs_find_brun_dblindirect

From: Luis de Bethencourt
Date: Sat Jul 02 2016 - 07:52:01 EST


On 02/07/16 09:05, Salah Triki wrote:
> The calls to brelse are useless since dbl_indir_block and indir_block
> are NULL.
>
> Signed-off-by: Salah Triki <salah.triki@xxxxxxxxx>
> ---
> fs/befs/datastream.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/fs/befs/datastream.c b/fs/befs/datastream.c
> index e224b9a..b68b6f9 100644
> --- a/fs/befs/datastream.c
> +++ b/fs/befs/datastream.c
> @@ -471,7 +471,6 @@ befs_find_brun_dblindirect(struct super_block *sb,
> (unsigned long)
> iaddr2blockno(sb, &data->double_indirect) +
> dbl_which_block);
> - brelse(dbl_indir_block);
> return BEFS_ERR;
> }
>
> @@ -496,7 +495,6 @@ befs_find_brun_dblindirect(struct super_block *sb,
> befs_error(sb, "%s couldn't read the indirect block "
> "at blockno %lu", __func__, (unsigned long)
> iaddr2blockno(sb, &indir_run) + which_block);
> - brelse(indir_block);
> return BEFS_ERR;
> }
>
>

Great catch!

This went unnoticed because brelse() checks if the buffer_head is NULL before
decrementing the reference count. Which in these two cases they clearly are NULL.

Acked-by: Luis de Bethencourt <luisbg@xxxxxxxxxxxxxxx>

Thanks!
Luis