Lines Matching refs:iocb
140 int nfs_swap_rw(struct kiocb *iocb, struct iov_iter *iter) in nfs_swap_rw() argument
147 ret = nfs_file_direct_read(iocb, iter, true); in nfs_swap_rw()
149 ret = nfs_file_direct_write(iocb, iter, true); in nfs_swap_rw()
222 if (dreq->iocb) in nfs_direct_wait()
248 if (dreq->iocb) { in nfs_direct_complete()
254 dreq->iocb->ki_complete(dreq->iocb, res); in nfs_direct_complete()
416 ssize_t nfs_file_direct_read(struct kiocb *iocb, struct iov_iter *iter, in nfs_file_direct_read() argument
419 struct file *file = iocb->ki_filp; in nfs_file_direct_read()
429 file, count, (long long) iocb->ki_pos); in nfs_file_direct_read()
444 dreq->io_start = iocb->ki_pos; in nfs_file_direct_read()
445 dreq->ctx = get_nfs_open_context(nfs_file_open_context(iocb->ki_filp)); in nfs_file_direct_read()
453 if (!is_sync_kiocb(iocb)) in nfs_file_direct_read()
454 dreq->iocb = iocb; in nfs_file_direct_read()
463 requested = nfs_direct_read_schedule_iovec(dreq, iter, iocb->ki_pos); in nfs_file_direct_read()
472 iocb->ki_pos += result; in nfs_file_direct_read()
947 ssize_t nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter, in nfs_file_direct_write() argument
952 struct file *file = iocb->ki_filp; in nfs_file_direct_write()
960 file, iov_iter_count(iter), (long long) iocb->ki_pos); in nfs_file_direct_write()
966 result = generic_write_checks(iocb, iter); in nfs_file_direct_write()
972 pos = iocb->ki_pos; in nfs_file_direct_write()
985 dreq->ctx = get_nfs_open_context(nfs_file_open_context(iocb->ki_filp)); in nfs_file_direct_write()
993 if (!is_sync_kiocb(iocb)) in nfs_file_direct_write()
994 dreq->iocb = iocb; in nfs_file_direct_write()
1018 iocb->ki_pos = pos + result; in nfs_file_direct_write()
1020 generic_write_sync(iocb, result); in nfs_file_direct_write()