Hi Suwan,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v5.17]
[also build test WARNING on next-20220321]
[cannot apply to axboe-block/for-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/0day-ci/linux/commits/Suwan-Kim/virtio-blk-support-polling-I-O-and-mq_ops-queue_rqs/20220321-223027
base: f443e374ae131c168a065ea1748feac6b2e76613
config: x86_64-rhel-8.3-kselftests
(https://download.01.org/0day-ci/archive/20220322/202203220946.YKj9GuI8-lkp at
intel.com/config)
compiler: gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
#
https://github.com/0day-ci/linux/commit/5388c0729248236712cf865643a2190989dabbb5
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Suwan-Kim/virtio-blk-support-polling-I-O-and-mq_ops-queue_rqs/20220321-223027
git checkout 5388c0729248236712cf865643a2190989dabbb5
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/block/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
sparse warnings: (new ones prefixed by >>)>> drivers/block/virtio_blk.c:803:66: sparse: sparse: incorrect type in
argument 3 (different base types) @@ expected int ioerror @@ got
restricted blk_status_t @@
drivers/block/virtio_blk.c:803:66: sparse: expected int ioerror
drivers/block/virtio_blk.c:803:66: sparse: got restricted blk_status_t
vim +803 drivers/block/virtio_blk.c
788
789 static int virtblk_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch
*iob)
790 {
791 struct virtio_blk_vq *vq = hctx->driver_data;
792 struct virtblk_req *vbr;
793 unsigned long flags;
794 unsigned int len;
795 int found = 0;
796
797 spin_lock_irqsave(&vq->lock, flags);
798
799 while ((vbr = virtqueue_get_buf(vq->vq, &len)) != NULL) {
800 struct request *req = blk_mq_rq_from_pdu(vbr);
801
802 found++;
> 803 if (!blk_mq_add_to_batch(req, iob, virtblk_result(vbr),
804 virtblk_complete_batch))
805 blk_mq_complete_request(req);
806 }
807
808 spin_unlock_irqrestore(&vq->lock, flags);
809
810 return found;
811 }
812
--
0-DAY CI Kernel Test Service
https://01.org/lkp