Hi Nitesh, kernel test robot noticed the following build warnings: [auto build test WARNING on 213f891525c222e8ed145ce1ce7ae1f47921cb9c] url: https://github.com/intel-lab-lkp/linux/commits/Nitesh-Shetty/block-Introduce-queue-limits-and-sysfs-for-copy-offload-support/20231019-200658 base: 213f891525c222e8ed145ce1ce7ae1f47921cb9c patch link: https://lore.kernel.org/r/20231019110147.31672-9-nj.shetty%40samsung.com patch subject: [PATCH v17 08/12] nvmet: add copy command support for bdev and file ns config: i386-randconfig-062-20231022 (https://download.01.org/0day-ci/archive/20231022/202310221915.PYH9XadG-lkp@xxxxxxxxx/config) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231022/202310221915.PYH9XadG-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202310221915.PYH9XadG-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) >> drivers/nvme/target/io-cmd-bdev.c:498:30: sparse: sparse: restricted __le16 degrades to integer vim +498 drivers/nvme/target/io-cmd-bdev.c 478 479 /* 480 * At present we handle only one range entry, since copy offload is aligned with 481 * copy_file_range, only one entry is passed from block layer. 482 */ 483 static void nvmet_bdev_execute_copy(struct nvmet_req *rq) 484 { 485 struct nvme_copy_range range; 486 struct nvme_command *cmd = rq->cmd; 487 ssize_t ret; 488 off_t dst, src; 489 490 u16 status; 491 492 status = nvmet_copy_from_sgl(rq, 0, &range, sizeof(range)); 493 if (status) 494 goto err_rq_complete; 495 496 dst = le64_to_cpu(cmd->copy.sdlba) << rq->ns->blksize_shift; 497 src = le64_to_cpu(range.slba) << rq->ns->blksize_shift; > 498 rq->copy_len = (range.nlb + 1) << rq->ns->blksize_shift; 499 500 if (bdev_max_copy_sectors(rq->ns->bdev)) { 501 ret = blkdev_copy_offload(rq->ns->bdev, dst, src, rq->copy_len, 502 nvmet_bdev_copy_endio, 503 (void *)rq, GFP_KERNEL); 504 } else { 505 ret = blkdev_copy_emulation(rq->ns->bdev, dst, 506 rq->ns->bdev, src, rq->copy_len, 507 nvmet_bdev_copy_endio, 508 (void *)rq, GFP_KERNEL); 509 } 510 if (ret == -EIOCBQUEUED) 511 return; 512 513 rq->cqe->result.u32 = cpu_to_le32(0); 514 status = errno_to_nvme_status(rq, ret); 515 err_rq_complete: 516 nvmet_req_complete(rq, status); 517 } 518 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki