Lines Matching refs:iovec

57 	struct iovec __user *uiov;  in io_iov_buffer_select_prep()
58 struct iovec iov; in io_iov_buffer_select_prep()
362 static struct iovec *__io_import_iovec(int ddir, struct io_kiocb *req, in __io_import_iovec()
369 struct iovec *iovec; in __io_import_iovec() local
400 iovec = s->fast_iov; in __io_import_iovec()
401 ret = __import_iovec(ddir, buf, sqe_len, UIO_FASTIOV, &iovec, iter, in __io_import_iovec()
405 return iovec; in __io_import_iovec()
409 struct iovec **iovec, struct io_rw_state *s, in io_import_iovec() argument
412 *iovec = __io_import_iovec(rw, req, s, issue_flags); in io_import_iovec()
413 if (IS_ERR(*iovec)) in io_import_iovec()
414 return PTR_ERR(*iovec); in io_import_iovec()
450 struct iovec iovec; in loop_rw_iter() local
454 iovec.iov_base = iter->ubuf + iter->iov_offset; in loop_rw_iter()
455 iovec.iov_len = iov_iter_count(iter); in loop_rw_iter()
457 iovec = iov_iter_iovec(iter); in loop_rw_iter()
459 iovec.iov_base = u64_to_user_ptr(rw->addr); in loop_rw_iter()
460 iovec.iov_len = rw->len; in loop_rw_iter()
464 nr = file->f_op->read(file, iovec.iov_base, in loop_rw_iter()
465 iovec.iov_len, ppos); in loop_rw_iter()
467 nr = file->f_op->write(file, iovec.iov_base, in loop_rw_iter()
468 iovec.iov_len, ppos); in loop_rw_iter()
485 if (nr != iovec.iov_len) in loop_rw_iter()
492 static void io_req_map_rw(struct io_kiocb *req, const struct iovec *iovec, in io_req_map_rw() argument
493 const struct iovec *fast_iov, struct iov_iter *iter) in io_req_map_rw()
498 io->free_iovec = iovec; in io_req_map_rw()
503 if (!iovec) { in io_req_map_rw()
513 sizeof(struct iovec) * iter->nr_segs); in io_req_map_rw()
519 static int io_setup_async_rw(struct io_kiocb *req, const struct iovec *iovec, in io_setup_async_rw() argument
528 kfree(iovec); in io_setup_async_rw()
532 io_req_map_rw(req, iovec, s->fast_iov, &s->iter); in io_setup_async_rw()
543 struct iovec *iov; in io_rw_prep_async()
709 struct iovec *iovec; in io_read() local
717 ret = io_import_iovec(ITER_DEST, req, &iovec, s, issue_flags); in io_read()
729 ret = io_import_iovec(ITER_DEST, req, &iovec, s, issue_flags); in io_read()
740 iovec = NULL; in io_read()
744 kfree(iovec); in io_read()
752 ret = io_setup_async_rw(req, iovec, s, true); in io_read()
765 kfree(iovec); in io_read()
784 if (iovec) in io_read()
785 kfree(iovec); in io_read()
800 ret2 = io_setup_async_rw(req, iovec, s, true); in io_read()
801 iovec = NULL; in io_read()
848 if (iovec) in io_read()
849 kfree(iovec); in io_read()
857 struct iovec *iovec; in io_write() local
864 ret = io_import_iovec(ITER_SOURCE, req, &iovec, s, issue_flags); in io_write()
872 iovec = NULL; in io_write()
876 kfree(iovec); in io_write()
902 kfree(iovec); in io_write()
958 ret = io_setup_async_rw(req, iovec, s, true); in io_write()
973 ret = io_setup_async_rw(req, iovec, s, false); in io_write()
982 if (iovec) in io_write()
983 kfree(iovec); in io_write()