static ssize_t zpl_aio_read(struct kiocb *kiocb, const struct iovec *iovp, unsigned long nr_segs, loff_t pos) { return (zpl_iter_read_common(kiocb, iovp, nr_segs, kiocb->ki_nbytes, UIO_USERSPACE, 0)); }
static ssize_t zpl_aio_read(struct kiocb *kiocb, const struct iovec *iovp, unsigned long nr_segs, loff_t pos) { ssize_t ret; size_t count; ret = generic_segment_checks(iovp, &nr_segs, &count, VERIFY_WRITE); if (ret) return (ret); return (zpl_iter_read_common(kiocb, iovp, nr_segs, count, UIO_USERSPACE, 0)); }
static ssize_t zpl_iter_read(struct kiocb *kiocb, struct iov_iter *to) { ssize_t ret; uio_seg_t seg = UIO_USERSPACE; if (to->type & ITER_KVEC) seg = UIO_SYSSPACE; if (to->type & ITER_BVEC) seg = UIO_BVEC; ret = zpl_iter_read_common(kiocb, to->iov, to->nr_segs, iov_iter_count(to), seg, to->iov_offset); if (ret > 0) iov_iter_advance(to, ret); return (ret); }
static ssize_t zpl_iter_read(struct kiocb *kiocb, struct iov_iter *to) { return (zpl_iter_read_common(kiocb, to->iov, to->nr_segs, iov_iter_count(to))); }