Re: [PATCH] fs/ext4: replace ternary operator with min() and max()
From: Lukas Czerner
Date: Tue Aug 09 2022 - 03:52:38 EST
On Tue, Aug 09, 2022 at 02:10:31PM +0800, Jiangshan Yi wrote:
> From: Jiangshan Yi <yijiangshan@xxxxxxxxxx>
>
> Fix the following coccicheck warning:
>
> fs/ext4/extents.c:2631: WARNING opportunity for max().
> fs/ext4/extents.c:2632: WARNING opportunity for min().
>
> min() and max() macro is defined in include/linux/minmax.h. It avoids
> multiple evaluations of the arguments when non-constant and performs
> strict type-checking.
>
> Signed-off-by: Jiangshan Yi <yijiangshan@xxxxxxxxxx>
> ---
> fs/ext4/extents.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
> index c148bb97b527..3a74d0961024 100644
> --- a/fs/ext4/extents.c
> +++ b/fs/ext4/extents.c
> @@ -2628,9 +2628,8 @@ ext4_ext_rm_leaf(handle_t *handle, struct inode *inode,
> unwritten, ex_ee_len);
> path[depth].p_ext = ex;
>
> - a = ex_ee_block > start ? ex_ee_block : start;
> - b = ex_ee_block+ex_ee_len - 1 < end ?
> - ex_ee_block+ex_ee_len - 1 : end;
> + a = max(ex_ee_block, start);
> + b = min(ex_ee_block+ex_ee_len - 1, end);
You could add spaces around the + sign, but other than that the patch
looks good. Thanks!
Reviewed-by: Lukas Czerner <lczerner@xxxxxxxxxx>
Also note that a quick grep on ext4 tree reveals that there are likely
many more opportunities for using min/max.
-Lukas
>
> ext_debug(inode, " border %u:%u\n", a, b);
>
> --
> 2.25.1
>
>
> No virus found
> Checked by Hillstone Network AntiVirus
>