On 21/11/2020 14:31, Pavel Begunkov wrote: > On 21/11/2020 14:13, David Howells wrote: >> Switch to using a table of operations. In a future patch the individual >> methods will be split up by type. For the moment, however, the ops tables >> just jump directly to the old functions - which are now static. Inline >> wrappers are provided to jump through the hooks. >> >> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> >> --- >> >> fs/io_uring.c | 2 >> include/linux/uio.h | 241 ++++++++++++++++++++++++++++++++++-------- >> lib/iov_iter.c | 293 +++++++++++++++++++++++++++++++++++++++------------ >> 3 files changed, 422 insertions(+), 114 deletions(-) >> >> diff --git a/fs/io_uring.c b/fs/io_uring.c >> index 4ead291b2976..baa78f58ae5c 100644 >> --- a/fs/io_uring.c >> +++ b/fs/io_uring.c >> @@ -3192,7 +3192,7 @@ static void io_req_map_rw(struct io_kiocb *req, const struct iovec *iovec, >> rw->free_iovec = iovec; >> rw->bytes_done = 0; >> /* can only be fixed buffers, no need to do anything */ >> - if (iter->type == ITER_BVEC) >> + if (iov_iter_is_bvec(iter)) > > Could you split this io_uring change and send for 5.10? > Or I can do it for you if you wish. FYI, I stole this chunk with right attributes. It should go through io_uring 5.10, so shouldn't be a problem if you just drop it. -- Pavel Begunkov