fs/ext4: replace ternary operator with min()/max() and min_t()
authorJiangshan Yi <yijiangshan@kylinos.cn>
Wed, 17 Aug 2022 02:59:28 +0000 (10:59 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 29 Nov 2022 21:10:49 +0000 (16:10 -0500)
Fix the following coccicheck warning:

fs/ext4/inline.c:183: WARNING opportunity for min().
fs/ext4/extents.c:2631: WARNING opportunity for max().
fs/ext4/extents.c:2632: WARNING opportunity for min().
fs/ext4/extents.c:5559: WARNING opportunity for max().
fs/ext4/super.c:6908: WARNING opportunity for min().

min()/max() and min_t() macro is defined in include/linux/minmax.h.
It avoids multiple evaluations of the arguments when non-constant and
performs strict type-checking.

Reported-by: kernel test robot <lkp@intel.com>
Suggested-by: Lukas Czerner <lczerner@redhat.com>
Signed-off-by: Jiangshan Yi <yijiangshan@kylinos.cn>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
Link: https://lore.kernel.org/r/20220817025928.612851-1-13667453960@163.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/extents.c
fs/ext4/inline.c
fs/ext4/super.c

index 6c399a8..ec00827 100644 (file)
@@ -2635,9 +2635,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);
 
                ext_debug(inode, "  border %u:%u\n", a, b);
 
@@ -5567,8 +5566,7 @@ static int ext4_insert_range(struct file *file, loff_t offset, loff_t len)
         * ee_start_lblk to shift extents
         */
        ret = ext4_ext_shift_extents(inode, handle,
-               ee_start_lblk > offset_lblk ? ee_start_lblk : offset_lblk,
-               len_lblk, SHIFT_RIGHT);
+               max(ee_start_lblk, offset_lblk), len_lblk, SHIFT_RIGHT);
 
        up_write(&EXT4_I(inode)->i_data_sem);
        if (IS_SYNC(inode))
index a4fbe82..2b42ece 100644 (file)
@@ -180,8 +180,7 @@ static int ext4_read_inline_data(struct inode *inode, void *buffer,
 
        BUG_ON(len > EXT4_I(inode)->i_inline_size);
 
-       cp_len = len < EXT4_MIN_INLINE_DATA_SIZE ?
-                       len : EXT4_MIN_INLINE_DATA_SIZE;
+       cp_len = min_t(unsigned int, len, EXT4_MIN_INLINE_DATA_SIZE);
 
        raw_inode = ext4_raw_inode(iloc);
        memcpy(buffer, (void *)(raw_inode->i_block), cp_len);
index 7cdd213..4749b30 100644 (file)
@@ -7031,8 +7031,7 @@ static ssize_t ext4_quota_read(struct super_block *sb, int type, char *data,
                len = i_size-off;
        toread = len;
        while (toread > 0) {
-               tocopy = sb->s_blocksize - offset < toread ?
-                               sb->s_blocksize - offset : toread;
+               tocopy = min_t(unsigned long, sb->s_blocksize - offset, toread);
                bh = ext4_bread(NULL, inode, blk, 0);
                if (IS_ERR(bh))
                        return PTR_ERR(bh);