Lines Matching refs:iocb
71 struct kiocb * iocb; /* controlling i/o request */
106 * @iocb: target I/O control block
116 ssize_t nfs_direct_IO(int rw, struct kiocb *iocb, const struct iovec *iov, loff_t pos, unsigned long nr_segs)
119 iocb->ki_filp->f_path.dentry->d_name.name,
160 dreq->iocb = NULL;
193 if (dreq->iocb)
208 * Synchronous I/O uses a stack-allocated iocb. Thus we can't trust
209 * the iocb is still valid here if this is a synchronous request.
213 if (dreq->iocb) {
217 aio_complete(dreq->iocb, res, 0);
352 static ssize_t nfs_direct_read(struct kiocb *iocb, unsigned long user_addr, size_t count, loff_t pos)
356 struct inode *inode = iocb->ki_filp->f_mapping->host;
365 dreq->ctx = get_nfs_open_context((struct nfs_open_context *)iocb->ki_filp->private_data);
366 if (!is_sync_kiocb(iocb))
367 dreq->iocb = iocb;
690 static ssize_t nfs_direct_write(struct kiocb *iocb, unsigned long user_addr, size_t count, loff_t pos)
694 struct inode *inode = iocb->ki_filp->f_mapping->host;
709 dreq->ctx = get_nfs_open_context((struct nfs_open_context *)iocb->ki_filp->private_data);
710 if (!is_sync_kiocb(iocb))
711 dreq->iocb = iocb;
729 * @iocb: target I/O control block
748 ssize_t nfs_file_direct_read(struct kiocb *iocb, const struct iovec *iov,
752 struct file *file = iocb->ki_filp;
778 retval = nfs_direct_read(iocb, (unsigned long) buf, count, pos);
780 iocb->ki_pos = pos + retval;
788 * @iocb: target I/O control block
811 ssize_t nfs_file_direct_write(struct kiocb *iocb, const struct iovec *iov,
815 struct file *file = iocb->ki_filp;
847 retval = nfs_direct_write(iocb, (unsigned long) buf, count, pos);
850 iocb->ki_pos = pos + retval;