Re: [PATCH v4 04/10] block: add emulation for copy

kernel test robot
2022-04-27T12:49:11Z

Hi Nitesh,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on next-20220422]
[cannot apply to axboe-block/for-next device-mapper-dm/for-next linus/master v5.18-rc4 v5.18-rc3 v5.18-rc2 v5.18-rc4]
[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/Nitesh-Shetty/block-Introduce-queue-limits-for-copy-offload-support/20220426-201825
base: e7d6987e09a328d4a949701db40ef63fbb970670
config: hexagon-randconfig-r041-20220425 (https://download.01.org/0day-ci/archive/20220427/202204270913.Ecb3uQx1-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 1cddcfdc3c683b393df1a5c9063252eb60e52818)
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/c406c5145dc7d628d4197f6726c23a3f1179b88e
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Nitesh-Shetty/block-Introduce-queue-limits-for-copy-offload-support/20220426-201825
git checkout c406c5145dc7d628d4197f6726c23a3f1179b88e
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash

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

All warnings (new ones prefixed by >>):

block/blk-lib.c:178:5: warning: no previous prototype for function 'blk_copy_offload' [-Wmissing-prototypes]
int blk_copy_offload(struct block_device *src_bdev, int nr_srcs,
^
block/blk-lib.c:178:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int blk_copy_offload(struct block_device *src_bdev, int nr_srcs,
^
static
>> block/blk-lib.c:276:5: warning: no previous prototype for function 'blk_submit_rw_buf' [-Wmissing-prototypes]
int blk_submit_rw_buf(struct block_device *bdev, void *buf, sector_t buf_len,
^
block/blk-lib.c:276:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int blk_submit_rw_buf(struct block_device *bdev, void *buf, sector_t buf_len,
^
static
2 warnings generated.

vim +/blk_submit_rw_buf +276 block/blk-lib.c

275
> 276 int blk_submit_rw_buf(struct block_device *bdev, void *buf, sector_t buf_len,
277 sector_t sector, unsigned int op, gfp_t gfp_mask)
278 {
279 struct request_queue *q = bdev_get_queue(bdev);
280 struct bio *bio, *parent = NULL;
281 sector_t max_hw_len = min_t(unsigned int, queue_max_hw_sectors(q),
282 queue_max_segments(q) << (PAGE_SHIFT - SECTOR_SHIFT)) << SECTOR_SHIFT;
283 sector_t len, remaining;
284 int ret;
285
286 for (remaining = buf_len; remaining > 0; remaining -= len) {
287 len = min_t(int, max_hw_len, remaining);
288 retry:
289 bio = bio_map_kern(q, buf, len, gfp_mask);
290 if (IS_ERR(bio)) {
291 len >>= 1;
292 if (len)
293 goto retry;
294 return PTR_ERR(bio);
295 }
296
297 bio->bi_iter.bi_sector = sector >> SECTOR_SHIFT;
298 bio->bi_opf = op;
299 bio_set_dev(bio, bdev);
300 bio->bi_end_io = NULL;
301 bio->bi_private = NULL;
302
303 if (parent) {
304 bio_chain(parent, bio);
305 submit_bio(parent);
306 }
307 parent = bio;
308 sector += len;
309 buf = (char *) buf + len;
310 }
311 ret = submit_bio_wait(bio);
312 bio_put(bio);
313
314 return ret;
315 }
316

--
0-DAY CI Kernel Test Service