Re: [PATCH] Revert "dm raid: remove unnecessary discard limits for raid10"

From: kernel test robot
Date: Thu Dec 10 2020 - 00:34:14 EST


Hi Song,

I love your patch! Perhaps something to improve:

[auto build test WARNING on dm/for-next]
[also build test WARNING on linux/master linus/master v5.10-rc7 next-20201209]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Song-Liu/Revert-dm-raid-remove-unnecessary-discard-limits-for-raid10/20201210-060948
base: https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git for-next
config: x86_64-randconfig-a006-20201209 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1968804ac726e7674d5de22bc2204b45857da344)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/c041d7bf65519d8a09a4193a0963fdcadcfd639b
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Song-Liu/Revert-dm-raid-remove-unnecessary-discard-limits-for-raid10/20201210-060948
git checkout c041d7bf65519d8a09a4193a0963fdcadcfd639b
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/md/dm-raid.c:3739:33: warning: comparison of distinct pointer types ('typeof (__x) *' (aka 'int *') and 'typeof (__y) *' (aka 'unsigned int *')) [-Wcompare-distinct-pointer-types]
limits->max_discard_sectors = min_not_zero(rs->md.chunk_sectors,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:84:39: note: expanded from macro 'min_not_zero'
__x == 0 ? __y : ((__y == 0) ? __x : min(__x, __y)); })
^~~~~~~~~~~~~
include/linux/minmax.h:51:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:42:24: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), \
^~~~~~~~~~~~~~~~
include/linux/minmax.h:32:4: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^~~~~~~~~~~~~~~~~
include/linux/minmax.h:18:28: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
1 warning generated.

vim +3739 drivers/md/dm-raid.c

3723
3724 static void raid_io_hints(struct dm_target *ti, struct queue_limits *limits)
3725 {
3726 struct raid_set *rs = ti->private;
3727 unsigned int chunk_size_bytes = to_bytes(rs->md.chunk_sectors);
3728
3729 blk_limits_io_min(limits, chunk_size_bytes);
3730 blk_limits_io_opt(limits, chunk_size_bytes * mddev_data_stripes(rs));
3731
3732 /*
3733 * RAID10 personality requires bio splitting,
3734 * RAID0/1/4/5/6 don't and process large discard bios properly.
3735 */
3736 if (rs_is_raid10(rs)) {
3737 limits->discard_granularity = max(chunk_size_bytes,
3738 limits->discard_granularity);
> 3739 limits->max_discard_sectors = min_not_zero(rs->md.chunk_sectors,
3740 limits->max_discard_sectors);
3741 }
3742 }
3743

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip