Lines Matching refs:iocb
130 int nfs_swap_rw(struct kiocb *iocb, struct iov_iter *iter) in nfs_swap_rw() argument
137 ret = nfs_file_direct_read(iocb, iter, true); in nfs_swap_rw()
139 ret = nfs_file_direct_write(iocb, iter, true); in nfs_swap_rw()
212 if (dreq->iocb) in nfs_direct_wait()
238 if (dreq->iocb) { in nfs_direct_complete()
244 dreq->iocb->ki_complete(dreq->iocb, res); in nfs_direct_complete()
408 ssize_t nfs_file_direct_read(struct kiocb *iocb, struct iov_iter *iter, in nfs_file_direct_read() argument
411 struct file *file = iocb->ki_filp; in nfs_file_direct_read()
421 file, count, (long long) iocb->ki_pos); in nfs_file_direct_read()
436 dreq->io_start = iocb->ki_pos; in nfs_file_direct_read()
437 dreq->ctx = get_nfs_open_context(nfs_file_open_context(iocb->ki_filp)); in nfs_file_direct_read()
445 if (!is_sync_kiocb(iocb)) in nfs_file_direct_read()
446 dreq->iocb = iocb; in nfs_file_direct_read()
455 requested = nfs_direct_read_schedule_iovec(dreq, iter, iocb->ki_pos); in nfs_file_direct_read()
464 iocb->ki_pos += result; in nfs_file_direct_read()
875 ssize_t nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter, in nfs_file_direct_write() argument
880 struct file *file = iocb->ki_filp; in nfs_file_direct_write()
888 file, iov_iter_count(iter), (long long) iocb->ki_pos); in nfs_file_direct_write()
894 result = generic_write_checks(iocb, iter); in nfs_file_direct_write()
900 pos = iocb->ki_pos; in nfs_file_direct_write()
913 dreq->ctx = get_nfs_open_context(nfs_file_open_context(iocb->ki_filp)); in nfs_file_direct_write()
921 if (!is_sync_kiocb(iocb)) in nfs_file_direct_write()
922 dreq->iocb = iocb; in nfs_file_direct_write()
946 iocb->ki_pos = pos + result; in nfs_file_direct_write()
948 generic_write_sync(iocb, result); in nfs_file_direct_write()