version 1.100, 2006/01/03 11:41:50 |
version 1.101, 2006/03/01 12:38:32 |
Line 527 nfsrv_readlink(nfsd, slp, lwp, mrq) |
|
Line 527 nfsrv_readlink(nfsd, slp, lwp, mrq) |
|
uiop->uio_offset = 0; |
uiop->uio_offset = 0; |
uiop->uio_resid = len; |
uiop->uio_resid = len; |
uiop->uio_rw = UIO_READ; |
uiop->uio_rw = UIO_READ; |
uiop->uio_segflg = UIO_SYSSPACE; |
UIO_SETUP_SYSSPACE(uiop); |
uiop->uio_lwp = NULL; |
|
error = nfsrv_fhtovp(fhp, 1, &vp, cred, slp, nam, |
error = nfsrv_fhtovp(fhp, 1, &vp, cred, slp, nam, |
&rdonly, (nfsd->nd_flag & ND_KERBAUTH), FALSE); |
&rdonly, (nfsd->nd_flag & ND_KERBAUTH), FALSE); |
if (error) { |
if (error) { |
|
|
uiop->uio_offset = off; |
uiop->uio_offset = off; |
uiop->uio_resid = cnt; |
uiop->uio_resid = cnt; |
uiop->uio_rw = UIO_READ; |
uiop->uio_rw = UIO_READ; |
uiop->uio_segflg = UIO_SYSSPACE; |
UIO_SETUP_SYSSPACE(uiop); |
error = VOP_READ(vp, uiop, IO_NODELOCKED, cred); |
error = VOP_READ(vp, uiop, IO_NODELOCKED, cred); |
free((caddr_t)iv2, M_TEMP); |
free((caddr_t)iv2, M_TEMP); |
} |
} |
Line 949 nfsrv_write(nfsd, slp, lwp, mrq) |
|
Line 948 nfsrv_write(nfsd, slp, lwp, mrq) |
|
ioflags = (IO_METASYNC | IO_SYNC | IO_NODELOCKED); |
ioflags = (IO_METASYNC | IO_SYNC | IO_NODELOCKED); |
uiop->uio_resid = len; |
uiop->uio_resid = len; |
uiop->uio_rw = UIO_WRITE; |
uiop->uio_rw = UIO_WRITE; |
uiop->uio_segflg = UIO_SYSSPACE; |
|
uiop->uio_lwp = NULL; |
|
uiop->uio_offset = off; |
uiop->uio_offset = off; |
|
UIO_SETUP_SYSSPACE(uiop); |
error = VOP_WRITE(vp, uiop, ioflags, cred); |
error = VOP_WRITE(vp, uiop, ioflags, cred); |
nfsstats.srvvop_writes++; |
nfsstats.srvvop_writes++; |
free(iv, M_TEMP); |
free(iv, M_TEMP); |
|
|
else |
else |
ioflags = (IO_METASYNC | IO_SYNC | IO_NODELOCKED); |
ioflags = (IO_METASYNC | IO_SYNC | IO_NODELOCKED); |
uiop->uio_rw = UIO_WRITE; |
uiop->uio_rw = UIO_WRITE; |
uiop->uio_segflg = UIO_SYSSPACE; |
|
uiop->uio_lwp = NULL; |
|
uiop->uio_offset = nfsd->nd_off; |
uiop->uio_offset = nfsd->nd_off; |
uiop->uio_resid = nfsd->nd_eoff - nfsd->nd_off; |
uiop->uio_resid = nfsd->nd_eoff - nfsd->nd_off; |
|
UIO_SETUP_SYSSPACE(uiop); |
if (uiop->uio_resid > 0) { |
if (uiop->uio_resid > 0) { |
mp = mrep; |
mp = mrep; |
i = 0; |
i = 0; |
Line 2227 nfsrv_symlink(nfsd, slp, lwp, mrq) |
|
Line 2224 nfsrv_symlink(nfsd, slp, lwp, mrq) |
|
io.uio_offset = 0; |
io.uio_offset = 0; |
io.uio_iov = &iv; |
io.uio_iov = &iv; |
io.uio_iovcnt = 1; |
io.uio_iovcnt = 1; |
io.uio_segflg = UIO_SYSSPACE; |
|
io.uio_rw = UIO_READ; |
io.uio_rw = UIO_READ; |
io.uio_lwp = NULL; |
UIO_SETUP_SYSSPACE(&io); |
nfsm_mtouio(&io, len2); |
nfsm_mtouio(&io, len2); |
if (!v3) { |
if (!v3) { |
nfsm_dissect(sp, struct nfsv2_sattr *, NFSX_V2SATTR); |
nfsm_dissect(sp, struct nfsv2_sattr *, NFSX_V2SATTR); |
|
|
io.uio_iovcnt = 1; |
io.uio_iovcnt = 1; |
io.uio_offset = (off_t)off; |
io.uio_offset = (off_t)off; |
io.uio_resid = fullsiz; |
io.uio_resid = fullsiz; |
io.uio_segflg = UIO_SYSSPACE; |
|
io.uio_rw = UIO_READ; |
io.uio_rw = UIO_READ; |
io.uio_lwp = NULL; |
UIO_SETUP_SYSSPACE(&io); |
eofflag = 0; |
eofflag = 0; |
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); |
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); |
|
|
|
|
io.uio_iovcnt = 1; |
io.uio_iovcnt = 1; |
io.uio_offset = (off_t)off; |
io.uio_offset = (off_t)off; |
io.uio_resid = fullsiz; |
io.uio_resid = fullsiz; |
io.uio_segflg = UIO_SYSSPACE; |
|
io.uio_rw = UIO_READ; |
io.uio_rw = UIO_READ; |
io.uio_lwp = NULL; |
UIO_SETUP_SYSSPACE(&io); |
eofflag = 0; |
eofflag = 0; |
|
|
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); |
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); |