On 4/12/21 5:39 AM, Jens Axboe wrote: > On 4/12/21 1:21 AM, Randy Dunlap wrote: >> On 4/11/21 8:48 PM, akpm@xxxxxxxxxxxxxxxxxxxx wrote: >>> The mm-of-the-moment snapshot 2021-04-11-20-47 has been uploaded to >>> >>> https://www.ozlabs.org/~akpm/mmotm/ >>> >>> mmotm-readme.txt says >>> >>> README for mm-of-the-moment: >>> >>> https://www.ozlabs.org/~akpm/mmotm/ >>> >>> This is a snapshot of my -mm patch queue. Uploaded at random hopefully >>> more than once a week. >>> >>> You will need quilt to apply these patches to the latest Linus release (5.x >>> or 5.x-rcY). The series file is in broken-out.tar.gz and is duplicated in >>> https://ozlabs.org/~akpm/mmotm/series >>> >>> The file broken-out.tar.gz contains two datestamp files: .DATE and >>> .DATE-yyyy-mm-dd-hh-mm-ss. Both contain the string yyyy-mm-dd-hh-mm-ss, >>> followed by the base kernel version against which this patch series is to >>> be applied. >>> >>> This tree is partially included in linux-next. To see which patches are >>> included in linux-next, consult the `series' file. Only the patches >>> within the #NEXT_PATCHES_START/#NEXT_PATCHES_END markers are included in >>> linux-next. >> >> on i386: >> # CONFIG_BLOCK is not set >> >> ../fs/io_uring.c: In function ‘kiocb_done’: >> ../fs/io_uring.c:2766:7: error: implicit declaration of function ‘io_resubmit_prep’; did you mean ‘io_put_req’? [-Werror=implicit-function-declaration] >> if (io_resubmit_prep(req)) { > > I'll apply the below to take care of that. > Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> # build-tested Thanks. > > diff --git a/fs/io_uring.c b/fs/io_uring.c > index 3a837d2b8331..aa29918944f6 100644 > --- a/fs/io_uring.c > +++ b/fs/io_uring.c > @@ -2464,6 +2464,10 @@ static bool io_rw_should_reissue(struct io_kiocb *req) > return true; > } > #else > +static bool io_resubmit_prep(struct io_kiocb *req) > +{ > + return false; > +} > static bool io_rw_should_reissue(struct io_kiocb *req) > { > return false; > @@ -2504,14 +2508,8 @@ static void io_complete_rw_iopoll(struct kiocb *kiocb, long res, long res2) > if (kiocb->ki_flags & IOCB_WRITE) > kiocb_end_write(req); > if (unlikely(res != req->result)) { > - bool fail = true; > - > -#ifdef CONFIG_BLOCK > - if (res == -EAGAIN && io_rw_should_reissue(req) && > - io_resubmit_prep(req)) > - fail = false; > -#endif > - if (fail) { > + if (!(res == -EAGAIN && io_rw_should_reissue(req) && > + io_resubmit_prep(req))) { > req_set_fail_links(req); > req->flags |= REQ_F_DONT_REISSUE; > } > -- ~Randy