Lines Matching defs:iocb
135 * @iocb: target I/O control block
140 int nfs_swap_rw(struct kiocb *iocb, struct iov_iter *iter)
147 ret = nfs_file_direct_read(iocb, iter, true);
149 ret = nfs_file_direct_write(iocb, iter, true);
223 if (dreq->iocb)
240 * Synchronous I/O uses a stack-allocated iocb. Thus we can't trust
241 * the iocb is still valid here if this is a synchronous request.
249 if (dreq->iocb) {
255 dreq->iocb->ki_complete(dreq->iocb, res);
399 * @iocb: target I/O control block
417 ssize_t nfs_file_direct_read(struct kiocb *iocb, struct iov_iter *iter,
420 struct file *file = iocb->ki_filp;
430 file, count, (long long) iocb->ki_pos);
445 dreq->io_start = iocb->ki_pos;
446 dreq->ctx = get_nfs_open_context(nfs_file_open_context(iocb->ki_filp));
454 if (!is_sync_kiocb(iocb))
455 dreq->iocb = iocb;
464 requested = nfs_direct_read_schedule_iovec(dreq, iter, iocb->ki_pos);
473 iocb->ki_pos += result;
936 * @iocb: target I/O control block
955 ssize_t nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter,
960 struct file *file = iocb->ki_filp;
968 file, iov_iter_count(iter), (long long) iocb->ki_pos);
974 result = generic_write_checks(iocb, iter);
980 pos = iocb->ki_pos;
993 dreq->ctx = get_nfs_open_context(nfs_file_open_context(iocb->ki_filp));
1001 if (!is_sync_kiocb(iocb))
1002 dreq->iocb = iocb;
1026 iocb->ki_pos = pos + result;
1028 generic_write_sync(iocb, result);