Lines Matching defs:uio

72 static int nfs_directio_write(struct vnode *vp, struct uio *uiop,
117 struct uio uio;
191 uio.uio_iov = &iov;
192 uio.uio_iovcnt = 1;
193 uio.uio_offset = IDX_TO_OFF(pages[0]->pindex);
194 uio.uio_resid = count;
195 uio.uio_segflg = UIO_SYSSPACE;
196 uio.uio_rw = UIO_READ;
197 uio.uio_td = td;
199 error = ncl_readrpc(vp, &uio, cred);
204 if (error && (uio.uio_resid == count)) {
215 size = count - uio.uio_resid;
265 struct uio uio;
325 uio.uio_iov = &iov;
326 uio.uio_iovcnt = 1;
327 uio.uio_offset = offset;
328 uio.uio_resid = count;
329 uio.uio_segflg = UIO_NOCOPY;
330 uio.uio_rw = UIO_WRITE;
331 uio.uio_td = td;
333 error = VOP_WRITE(vp, &uio, vnode_pager_putpages_ioflags(ap->a_sync),
338 vnode_pager_undirty_pages(pages, rtvals, count - uio.uio_resid,
433 ncl_bioread(struct vnode *vp, struct uio *uio, int ioflag, struct ucred *cred)
443 KASSERT(uio->uio_rw == UIO_READ, ("ncl_read mode"));
444 if (uio->uio_resid == 0)
446 if (uio->uio_offset < 0) /* XXX VDIR cookies can be negative */
448 td = uio->uio_td;
460 tmp_off = uio->uio_offset + uio->uio_resid;
462 (tmp_off > nmp->nm_maxfilesize || tmp_off < uio->uio_offset)) {
470 return ncl_readrpc(vp, uio, cred);
492 lbn = uio->uio_offset / biosize;
493 on = uio->uio_offset - (lbn * biosize);
567 * Then figure out how many bytes we can copy into the uio.
572 n = MIN((unsigned)(bcount - on), uio->uio_resid);
593 n = MIN(uio->uio_resid, NFS_MAXPATHLEN - bp->b_resid);
600 && uio->uio_offset >= np->n_direofoffset) {
606 lbn = (uoff_t)uio->uio_offset / NFS_DIRBLKSIZ;
607 on = uio->uio_offset & (NFS_DIRBLKSIZ - 1);
724 n = lmin(uio->uio_resid, NFS_DIRBLKSIZ - bp->b_resid - on);
725 if (np->n_direofoffset && n > np->n_direofoffset - uio->uio_offset)
726 n = np->n_direofoffset - uio->uio_offset;
736 error = vn_io_fault_uiomove(bp->b_data + on, (int)n, uio);
742 } while (error == 0 && uio->uio_resid > 0 && n > 0);
764 nfs_directio_write(struct vnode *vp, struct uio *uiop, struct ucred *cred,
767 struct uio uio;
782 uio.uio_iov = &iov;
783 uio.uio_iovcnt = 1;
784 uio.uio_offset = uiop->uio_offset;
785 uio.uio_resid = size;
786 uio.uio_segflg = uiop->uio_segflg;
787 uio.uio_rw = UIO_WRITE;
788 uio.uio_td = td;
801 error = ncl_writerpc(vp, &uio, cred, &iomode,
831 struct uio *uio = ap->a_uio;
832 struct thread *td = uio->uio_td;
847 KASSERT(uio->uio_rw == UIO_WRITE, ("ncl_write mode"));
848 KASSERT(uio->uio_segflg != UIO_USERSPACE || uio->uio_td == curthread,
903 orig_resid = uio->uio_resid;
929 uio->uio_offset = np->n_size;
933 if (uio->uio_offset < 0)
935 tmp_off = uio->uio_offset + uio->uio_resid;
936 if (tmp_off > nmp->nm_maxfilesize || tmp_off < uio->uio_offset)
938 if (uio->uio_resid == 0)
954 return (nfs_directio_write(vp, uio, cred, ioflag));
961 error = vn_rlimit_fsize(vp, uio, td);
1010 lbn = uio->uio_offset / biosize;
1011 on = uio->uio_offset - (lbn * biosize);
1012 n = MIN((unsigned)(biosize - on), uio->uio_resid);
1024 if ((uio->uio_offset == np->n_size ||
1027 uio->uio_offset + n > np->n_size)) && n) {
1042 np->n_size = uio->uio_offset + n;
1071 if (uio->uio_offset + n > np->n_size) {
1072 np->n_size = uio->uio_offset + n;
1179 local_resid = uio->uio_resid;
1180 error = vn_io_fault_uiomove((char *)bp->b_data + on, n, uio);
1192 uio->uio_offset -= local_resid - uio->uio_resid;
1193 uio->uio_resid = local_resid;
1210 n = local_resid - uio->uio_resid;
1251 } while (uio->uio_resid > 0 && n > 0);
1264 uio->uio_offset -= orig_resid - uio->uio_resid;
1265 uio->uio_resid = orig_resid;
1553 struct uio *uiop;
1557 struct uio uio;
1564 uiop = &uio;