Re: [PATCH v3 2/3] block: io-uring: add READV_PI/WRITEV_PI operations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alexander,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on linus/master v6.0-rc4 next-20220908]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Alexander-V-Buev/implement-direct-IO-with-integrity/20220909-143807
base:   https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: um-x86_64_defconfig (https://download.01.org/0day-ci/archive/20220909/202209091631.jlGYR8Lf-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-5) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/eda3c42ce63fd33731304cc2ec9a8e1704270690
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Alexander-V-Buev/implement-direct-IO-with-integrity/20220909-143807
        git checkout eda3c42ce63fd33731304cc2ec9a8e1704270690
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=um SUBARCH=x86_64 SHELL=/bin/bash

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

All warnings (new ones prefixed by >>):

>> io_uring/rw_pi.c:181:5: warning: no previous prototype for 'kiocb_done' [-Wmissing-prototypes]
     181 | int kiocb_done(struct io_kiocb *req, ssize_t ret,
         |     ^~~~~~~~~~


vim +/kiocb_done +181 io_uring/rw_pi.c

   180	
 > 181	int kiocb_done(struct io_kiocb *req, ssize_t ret,
   182			       unsigned int issue_flags)
   183	{
   184		struct io_async_rw_pi *arw = req->async_data;
   185		struct io_rw_pi *rw = io_kiocb_to_cmd(req, struct io_rw_pi);
   186	
   187		/* add previously done IO, if any */
   188		if (req_has_async_data(req) && arw->data.bytes_done > 0) {
   189			if (ret < 0)
   190				ret = arw->data.bytes_done;
   191			else
   192				ret += arw->data.bytes_done;
   193		}
   194	
   195		if (req->flags & REQ_F_CUR_POS)
   196			req->file->f_pos = rw->kiocb.ki_pos;
   197		if (ret >= 0 && (rw->kiocb.ki_complete == io_complete_rw)) {
   198			if (!__io_complete_rw_common(req, ret)) {
   199				io_req_set_res(req, req->cqe.res, 0);
   200				return IOU_OK;
   201			}
   202		} else {
   203			io_rw_done(&rw->kiocb, ret);
   204		}
   205	
   206		if (req->flags & REQ_F_REISSUE) {
   207			req->flags &= ~REQ_F_REISSUE;
   208			if (io_resubmit_prep(req))
   209				io_req_task_queue_reissue(req);
   210			else
   211				io_req_task_queue_fail(req, ret);
   212		}
   213		return IOU_ISSUE_SKIP_COMPLETE;
   214	}
   215	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux