[PATCH v7 13/13] dm: add non power of 2 zoned target
kernel test robot
lkp at intel.com
Wed Jun 15 07:19:48 PDT 2022
Hi Pankaj,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on device-mapper-dm/for-next linus/master v5.19-rc2 next-20220615]
[cannot apply to song-md/md-next]
[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/intel-lab-lkp/linux/commits/Pankaj-Raghav/block-make-blkdev_nr_zones-and-blk_queue_zone_no-generic-for-npo2-zsze/20220615-191927
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: s390-allmodconfig (https://download.01.org/0day-ci/archive/20220615/202206152257.pnoPyl7X-lkp@intel.com/config)
compiler: s390-linux-gcc (GCC) 11.3.0
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
# https://github.com/intel-lab-lkp/linux/commit/add4ab54d5b34d4a2f91f241007f23a56c164fb3
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Pankaj-Raghav/block-make-blkdev_nr_zones-and-blk_queue_zone_no-generic-for-npo2-zsze/20220615-191927
git checkout add4ab54d5b34d4a2f91f241007f23a56c164fb3
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=s390 SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp at intel.com>
All warnings (new ones prefixed by >>):
drivers/md/dm-zoned-npo2-target.c: In function 'dmz_npo2_ctr':
>> drivers/md/dm-zoned-npo2-target.c:62:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
62 | int ret = 0;
| ^~~
vim +/ret +62 drivers/md/dm-zoned-npo2-target.c
53
54 /*
55 * <dev-path>
56 * This target works on the complete zoned device. Partial mapping is not
57 * supported
58 */
59 static int dmz_npo2_ctr(struct dm_target *ti, unsigned int argc, char **argv)
60 {
61 struct dmz_npo2_target *dmh = NULL;
> 62 int ret = 0;
63 sector_t zsze;
64 sector_t disk_size;
65
66 if (argc < 1)
67 return -EINVAL;
68
69 dmh = kmalloc(sizeof(*dmh), GFP_KERNEL);
70 if (!dmh)
71 return -ENOMEM;
72
73 ret = dm_get_device(ti, argv[0], dm_table_get_mode(ti->table),
74 &dmh->dev);
75
76 zsze = blk_queue_zone_sectors(bdev_get_queue(dmh->dev->bdev));
77
78 disk_size = get_capacity(dmh->dev->bdev->bd_disk);
79
80 if (ti->len != disk_size || ti->begin) {
81 DMERR("%pg Partial mapping of the target not supported",
82 dmh->dev->bdev);
83 return -EINVAL;
84 }
85
86 if (is_power_of_2(zsze)) {
87 DMERR("%pg zone size is power of 2", dmh->dev->bdev);
88 return -EINVAL;
89 }
90
91 dmh->zsze = zsze;
92 dmh->zsze_po2 = 1 << get_count_order_long(zsze);
93 dmh->zsze_diff = dmh->zsze_po2 - dmh->zsze;
94
95 ti->private = dmh;
96 ti->num_flush_bios = 1;
97 ti->num_discard_bios = 1;
98 ti->num_secure_erase_bios = 1;
99 ti->num_write_zeroes_bios = 1;
100
101 dmh->nr_zones = npo2_zone_no(dmh, ti->len);
102 ti->len = dmh->zsze_po2 * dmh->nr_zones;
103
104 return 0;
105 }
106
--
0-DAY CI Kernel Test Service
https://01.org/lkp
More information about the Linux-nvme
mailing list