Deleted Added
full compact
nfs_vnops.c (83651) nfs_vnops.c (84002)
1/*
2 * Copyright (c) 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Rick Macklem at The University of Guelph.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 23 unchanged lines hidden (view full) ---

32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
37 */
38
39#include <sys/cdefs.h>
1/*
2 * Copyright (c) 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Rick Macklem at The University of Guelph.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 23 unchanged lines hidden (view full) ---

32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95
37 */
38
39#include <sys/cdefs.h>
40__FBSDID("$FreeBSD: head/sys/nfsclient/nfs_vnops.c 83651 2001-09-18 23:32:09Z peter $");
40__FBSDID("$FreeBSD: head/sys/nfsclient/nfs_vnops.c 84002 2001-09-27 02:33:36Z peter $");
41
42/*
43 * vnode op calls for Sun NFS version 2 and 3
44 */
45
46#include "opt_inet.h"
47
48#include <sys/param.h>

--- 224 unchanged lines hidden (view full) ---

273 u_int32_t rmode;
274 struct nfsnode *np = VTONFS(vp);
275
276 nfsstats.rpccnt[NFSPROC_ACCESS]++;
277 mreq = nfsm_reqhead(vp, NFSPROC_ACCESS, NFSX_FH(v3) + NFSX_UNSIGNED);
278 mb = mreq;
279 bpos = mtod(mb, caddr_t);
280 nfsm_fhtom(vp, v3);
41
42/*
43 * vnode op calls for Sun NFS version 2 and 3
44 */
45
46#include "opt_inet.h"
47
48#include <sys/param.h>

--- 224 unchanged lines hidden (view full) ---

273 u_int32_t rmode;
274 struct nfsnode *np = VTONFS(vp);
275
276 nfsstats.rpccnt[NFSPROC_ACCESS]++;
277 mreq = nfsm_reqhead(vp, NFSPROC_ACCESS, NFSX_FH(v3) + NFSX_UNSIGNED);
278 mb = mreq;
279 bpos = mtod(mb, caddr_t);
280 nfsm_fhtom(vp, v3);
281 nfsm_build(tl, u_int32_t *, NFSX_UNSIGNED);
281 tl = nfsm_build(u_int32_t *, NFSX_UNSIGNED);
282 *tl = txdr_unsigned(wmode);
283 nfsm_request(vp, NFSPROC_ACCESS, td, cred);
284 nfsm_postop_attr(vp, attrflag);
285 if (!error) {
286 nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED);
287 rmode = fxdr_unsigned(u_int32_t, *tl);
288 np->n_mode = rmode;
289 np->n_modeuid = cred->cr_uid;

--- 399 unchanged lines hidden (view full) ---

689
690 nfsstats.rpccnt[NFSPROC_SETATTR]++;
691 mreq = nfsm_reqhead(vp, NFSPROC_SETATTR, NFSX_FH(v3) + NFSX_SATTR(v3));
692 mb = mreq;
693 bpos = mtod(mb, caddr_t);
694 nfsm_fhtom(vp, v3);
695 if (v3) {
696 nfsm_v3attrbuild(vap, TRUE);
282 *tl = txdr_unsigned(wmode);
283 nfsm_request(vp, NFSPROC_ACCESS, td, cred);
284 nfsm_postop_attr(vp, attrflag);
285 if (!error) {
286 nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED);
287 rmode = fxdr_unsigned(u_int32_t, *tl);
288 np->n_mode = rmode;
289 np->n_modeuid = cred->cr_uid;

--- 399 unchanged lines hidden (view full) ---

689
690 nfsstats.rpccnt[NFSPROC_SETATTR]++;
691 mreq = nfsm_reqhead(vp, NFSPROC_SETATTR, NFSX_FH(v3) + NFSX_SATTR(v3));
692 mb = mreq;
693 bpos = mtod(mb, caddr_t);
694 nfsm_fhtom(vp, v3);
695 if (v3) {
696 nfsm_v3attrbuild(vap, TRUE);
697 nfsm_build(tl, u_int32_t *, NFSX_UNSIGNED);
697 tl = nfsm_build(u_int32_t *, NFSX_UNSIGNED);
698 *tl = nfs_false;
699 } else {
698 *tl = nfs_false;
699 } else {
700 nfsm_build(sp, struct nfsv2_sattr *, NFSX_V2SATTR);
700 sp = nfsm_build(struct nfsv2_sattr *, NFSX_V2SATTR);
701 if (vap->va_mode == (mode_t)VNOVAL)
702 sp->sa_mode = nfs_xdrneg1;
703 else
704 sp->sa_mode = vtonfsv2_mode(vp->v_type, vap->va_mode);
705 if (vap->va_uid == (uid_t)VNOVAL)
706 sp->sa_uid = nfs_xdrneg1;
707 else
708 sp->sa_uid = txdr_unsigned(vap->va_uid);

--- 310 unchanged lines hidden (view full) ---

1019 return (EFBIG);
1020 while (tsiz > 0) {
1021 nfsstats.rpccnt[NFSPROC_READ]++;
1022 len = (tsiz > nmp->nm_rsize) ? nmp->nm_rsize : tsiz;
1023 mreq = nfsm_reqhead(vp, NFSPROC_READ, NFSX_FH(v3) + NFSX_UNSIGNED * 3);
1024 mb = mreq;
1025 bpos = mtod(mb, caddr_t);
1026 nfsm_fhtom(vp, v3);
701 if (vap->va_mode == (mode_t)VNOVAL)
702 sp->sa_mode = nfs_xdrneg1;
703 else
704 sp->sa_mode = vtonfsv2_mode(vp->v_type, vap->va_mode);
705 if (vap->va_uid == (uid_t)VNOVAL)
706 sp->sa_uid = nfs_xdrneg1;
707 else
708 sp->sa_uid = txdr_unsigned(vap->va_uid);

--- 310 unchanged lines hidden (view full) ---

1019 return (EFBIG);
1020 while (tsiz > 0) {
1021 nfsstats.rpccnt[NFSPROC_READ]++;
1022 len = (tsiz > nmp->nm_rsize) ? nmp->nm_rsize : tsiz;
1023 mreq = nfsm_reqhead(vp, NFSPROC_READ, NFSX_FH(v3) + NFSX_UNSIGNED * 3);
1024 mb = mreq;
1025 bpos = mtod(mb, caddr_t);
1026 nfsm_fhtom(vp, v3);
1027 nfsm_build(tl, u_int32_t *, NFSX_UNSIGNED * 3);
1027 tl = nfsm_build(u_int32_t *, NFSX_UNSIGNED * 3);
1028 if (v3) {
1029 txdr_hyper(uiop->uio_offset, tl);
1030 *(tl + 2) = txdr_unsigned(len);
1031 } else {
1032 *tl++ = txdr_unsigned(uiop->uio_offset);
1033 *tl++ = txdr_unsigned(len);
1034 *tl = 0;
1035 }

--- 49 unchanged lines hidden (view full) ---

1085 nfsstats.rpccnt[NFSPROC_WRITE]++;
1086 len = (tsiz > nmp->nm_wsize) ? nmp->nm_wsize : tsiz;
1087 mreq = nfsm_reqhead(vp, NFSPROC_WRITE,
1088 NFSX_FH(v3) + 5 * NFSX_UNSIGNED + nfsm_rndup(len));
1089 mb = mreq;
1090 bpos = mtod(mb, caddr_t);
1091 nfsm_fhtom(vp, v3);
1092 if (v3) {
1028 if (v3) {
1029 txdr_hyper(uiop->uio_offset, tl);
1030 *(tl + 2) = txdr_unsigned(len);
1031 } else {
1032 *tl++ = txdr_unsigned(uiop->uio_offset);
1033 *tl++ = txdr_unsigned(len);
1034 *tl = 0;
1035 }

--- 49 unchanged lines hidden (view full) ---

1085 nfsstats.rpccnt[NFSPROC_WRITE]++;
1086 len = (tsiz > nmp->nm_wsize) ? nmp->nm_wsize : tsiz;
1087 mreq = nfsm_reqhead(vp, NFSPROC_WRITE,
1088 NFSX_FH(v3) + 5 * NFSX_UNSIGNED + nfsm_rndup(len));
1089 mb = mreq;
1090 bpos = mtod(mb, caddr_t);
1091 nfsm_fhtom(vp, v3);
1092 if (v3) {
1093 nfsm_build(tl, u_int32_t *, 5 * NFSX_UNSIGNED);
1093 tl = nfsm_build(u_int32_t *, 5 * NFSX_UNSIGNED);
1094 txdr_hyper(uiop->uio_offset, tl);
1095 tl += 2;
1096 *tl++ = txdr_unsigned(len);
1097 *tl++ = txdr_unsigned(*iomode);
1098 *tl = txdr_unsigned(len);
1099 } else {
1100 u_int32_t x;
1101
1094 txdr_hyper(uiop->uio_offset, tl);
1095 tl += 2;
1096 *tl++ = txdr_unsigned(len);
1097 *tl++ = txdr_unsigned(*iomode);
1098 *tl = txdr_unsigned(len);
1099 } else {
1100 u_int32_t x;
1101
1102 nfsm_build(tl, u_int32_t *, 4 * NFSX_UNSIGNED);
1102 tl = nfsm_build(u_int32_t *, 4 * NFSX_UNSIGNED);
1103 /* Set both "begin" and "current" to non-garbage. */
1104 x = txdr_unsigned((u_int32_t)uiop->uio_offset);
1105 *tl++ = x; /* "begin offset" */
1106 *tl++ = x; /* "current offset" */
1107 x = txdr_unsigned(len);
1108 *tl++ = x; /* total to this offset */
1109 *tl = x; /* size of this write */
1110 }

--- 91 unchanged lines hidden (view full) ---

1202 nfsstats.rpccnt[NFSPROC_MKNOD]++;
1203 mreq = nfsm_reqhead(dvp, NFSPROC_MKNOD, NFSX_FH(v3) + 4 * NFSX_UNSIGNED +
1204 + nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3));
1205 mb = mreq;
1206 bpos = mtod(mb, caddr_t);
1207 nfsm_fhtom(dvp, v3);
1208 nfsm_strtom(cnp->cn_nameptr, cnp->cn_namelen, NFS_MAXNAMLEN);
1209 if (v3) {
1103 /* Set both "begin" and "current" to non-garbage. */
1104 x = txdr_unsigned((u_int32_t)uiop->uio_offset);
1105 *tl++ = x; /* "begin offset" */
1106 *tl++ = x; /* "current offset" */
1107 x = txdr_unsigned(len);
1108 *tl++ = x; /* total to this offset */
1109 *tl = x; /* size of this write */
1110 }

--- 91 unchanged lines hidden (view full) ---

1202 nfsstats.rpccnt[NFSPROC_MKNOD]++;
1203 mreq = nfsm_reqhead(dvp, NFSPROC_MKNOD, NFSX_FH(v3) + 4 * NFSX_UNSIGNED +
1204 + nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3));
1205 mb = mreq;
1206 bpos = mtod(mb, caddr_t);
1207 nfsm_fhtom(dvp, v3);
1208 nfsm_strtom(cnp->cn_nameptr, cnp->cn_namelen, NFS_MAXNAMLEN);
1209 if (v3) {
1210 nfsm_build(tl, u_int32_t *, NFSX_UNSIGNED);
1210 tl = nfsm_build(u_int32_t *, NFSX_UNSIGNED);
1211 *tl++ = vtonfsv3_type(vap->va_type);
1212 nfsm_v3attrbuild(vap, FALSE);
1213 if (vap->va_type == VCHR || vap->va_type == VBLK) {
1211 *tl++ = vtonfsv3_type(vap->va_type);
1212 nfsm_v3attrbuild(vap, FALSE);
1213 if (vap->va_type == VCHR || vap->va_type == VBLK) {
1214 nfsm_build(tl, u_int32_t *, 2 * NFSX_UNSIGNED);
1214 tl = nfsm_build(u_int32_t *, 2 * NFSX_UNSIGNED);
1215 *tl++ = txdr_unsigned(umajor(vap->va_rdev));
1216 *tl = txdr_unsigned(uminor(vap->va_rdev));
1217 }
1218 } else {
1215 *tl++ = txdr_unsigned(umajor(vap->va_rdev));
1216 *tl = txdr_unsigned(uminor(vap->va_rdev));
1217 }
1218 } else {
1219 nfsm_build(sp, struct nfsv2_sattr *, NFSX_V2SATTR);
1219 sp = nfsm_build(struct nfsv2_sattr *, NFSX_V2SATTR);
1220 sp->sa_mode = vtonfsv2_mode(vap->va_type, vap->va_mode);
1221 sp->sa_uid = nfs_xdrneg1;
1222 sp->sa_gid = nfs_xdrneg1;
1223 sp->sa_size = rdev;
1224 txdr_nfsv2time(&vap->va_atime, &sp->sa_atime);
1225 txdr_nfsv2time(&vap->va_mtime, &sp->sa_mtime);
1226 }
1227 nfsm_request(dvp, NFSPROC_MKNOD, cnp->cn_thread, cnp->cn_cred);

--- 75 unchanged lines hidden (view full) ---

1303 nfsstats.rpccnt[NFSPROC_CREATE]++;
1304 mreq = nfsm_reqhead(dvp, NFSPROC_CREATE, NFSX_FH(v3) + 2 * NFSX_UNSIGNED +
1305 nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3));
1306 mb = mreq;
1307 bpos = mtod(mb, caddr_t);
1308 nfsm_fhtom(dvp, v3);
1309 nfsm_strtom(cnp->cn_nameptr, cnp->cn_namelen, NFS_MAXNAMLEN);
1310 if (v3) {
1220 sp->sa_mode = vtonfsv2_mode(vap->va_type, vap->va_mode);
1221 sp->sa_uid = nfs_xdrneg1;
1222 sp->sa_gid = nfs_xdrneg1;
1223 sp->sa_size = rdev;
1224 txdr_nfsv2time(&vap->va_atime, &sp->sa_atime);
1225 txdr_nfsv2time(&vap->va_mtime, &sp->sa_mtime);
1226 }
1227 nfsm_request(dvp, NFSPROC_MKNOD, cnp->cn_thread, cnp->cn_cred);

--- 75 unchanged lines hidden (view full) ---

1303 nfsstats.rpccnt[NFSPROC_CREATE]++;
1304 mreq = nfsm_reqhead(dvp, NFSPROC_CREATE, NFSX_FH(v3) + 2 * NFSX_UNSIGNED +
1305 nfsm_rndup(cnp->cn_namelen) + NFSX_SATTR(v3));
1306 mb = mreq;
1307 bpos = mtod(mb, caddr_t);
1308 nfsm_fhtom(dvp, v3);
1309 nfsm_strtom(cnp->cn_nameptr, cnp->cn_namelen, NFS_MAXNAMLEN);
1310 if (v3) {
1311 nfsm_build(tl, u_int32_t *, NFSX_UNSIGNED);
1311 tl = nfsm_build(u_int32_t *, NFSX_UNSIGNED);
1312 if (fmode & O_EXCL) {
1313 *tl = txdr_unsigned(NFSV3CREATE_EXCLUSIVE);
1312 if (fmode & O_EXCL) {
1313 *tl = txdr_unsigned(NFSV3CREATE_EXCLUSIVE);
1314 nfsm_build(tl, u_int32_t *, NFSX_V3CREATEVERF);
1314 tl = nfsm_build(u_int32_t *, NFSX_V3CREATEVERF);
1315#ifdef INET
1316 if (!TAILQ_EMPTY(&in_ifaddrhead))
1317 *tl++ = IA_SIN(TAILQ_FIRST(&in_ifaddrhead))->sin_addr.s_addr;
1318 else
1319#endif
1320 *tl++ = create_verf;
1321 *tl = ++create_verf;
1322 } else {
1323 *tl = txdr_unsigned(NFSV3CREATE_UNCHECKED);
1324 nfsm_v3attrbuild(vap, FALSE);
1325 }
1326 } else {
1315#ifdef INET
1316 if (!TAILQ_EMPTY(&in_ifaddrhead))
1317 *tl++ = IA_SIN(TAILQ_FIRST(&in_ifaddrhead))->sin_addr.s_addr;
1318 else
1319#endif
1320 *tl++ = create_verf;
1321 *tl = ++create_verf;
1322 } else {
1323 *tl = txdr_unsigned(NFSV3CREATE_UNCHECKED);
1324 nfsm_v3attrbuild(vap, FALSE);
1325 }
1326 } else {
1327 nfsm_build(sp, struct nfsv2_sattr *, NFSX_V2SATTR);
1327 sp = nfsm_build(struct nfsv2_sattr *, NFSX_V2SATTR);
1328 sp->sa_mode = vtonfsv2_mode(vap->va_type, vap->va_mode);
1329 sp->sa_uid = nfs_xdrneg1;
1330 sp->sa_gid = nfs_xdrneg1;
1331 sp->sa_size = 0;
1332 txdr_nfsv2time(&vap->va_atime, &sp->sa_atime);
1333 txdr_nfsv2time(&vap->va_mtime, &sp->sa_mtime);
1334 }
1335 nfsm_request(dvp, NFSPROC_CREATE, cnp->cn_thread, cnp->cn_cred);

--- 361 unchanged lines hidden (view full) ---

1697 bpos = mtod(mb, caddr_t);
1698 nfsm_fhtom(dvp, v3);
1699 nfsm_strtom(cnp->cn_nameptr, cnp->cn_namelen, NFS_MAXNAMLEN);
1700 if (v3) {
1701 nfsm_v3attrbuild(vap, FALSE);
1702 }
1703 nfsm_strtom(ap->a_target, slen, NFS_MAXPATHLEN);
1704 if (!v3) {
1328 sp->sa_mode = vtonfsv2_mode(vap->va_type, vap->va_mode);
1329 sp->sa_uid = nfs_xdrneg1;
1330 sp->sa_gid = nfs_xdrneg1;
1331 sp->sa_size = 0;
1332 txdr_nfsv2time(&vap->va_atime, &sp->sa_atime);
1333 txdr_nfsv2time(&vap->va_mtime, &sp->sa_mtime);
1334 }
1335 nfsm_request(dvp, NFSPROC_CREATE, cnp->cn_thread, cnp->cn_cred);

--- 361 unchanged lines hidden (view full) ---

1697 bpos = mtod(mb, caddr_t);
1698 nfsm_fhtom(dvp, v3);
1699 nfsm_strtom(cnp->cn_nameptr, cnp->cn_namelen, NFS_MAXNAMLEN);
1700 if (v3) {
1701 nfsm_v3attrbuild(vap, FALSE);
1702 }
1703 nfsm_strtom(ap->a_target, slen, NFS_MAXPATHLEN);
1704 if (!v3) {
1705 nfsm_build(sp, struct nfsv2_sattr *, NFSX_V2SATTR);
1705 sp = nfsm_build(struct nfsv2_sattr *, NFSX_V2SATTR);
1706 sp->sa_mode = vtonfsv2_mode(VLNK, vap->va_mode);
1707 sp->sa_uid = nfs_xdrneg1;
1708 sp->sa_gid = nfs_xdrneg1;
1709 sp->sa_size = nfs_xdrneg1;
1710 txdr_nfsv2time(&vap->va_atime, &sp->sa_atime);
1711 txdr_nfsv2time(&vap->va_mtime, &sp->sa_mtime);
1712 }
1713

--- 81 unchanged lines hidden (view full) ---

1795 NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len) + NFSX_SATTR(v3));
1796 mb = mreq;
1797 bpos = mtod(mb, caddr_t);
1798 nfsm_fhtom(dvp, v3);
1799 nfsm_strtom(cnp->cn_nameptr, len, NFS_MAXNAMLEN);
1800 if (v3) {
1801 nfsm_v3attrbuild(vap, FALSE);
1802 } else {
1706 sp->sa_mode = vtonfsv2_mode(VLNK, vap->va_mode);
1707 sp->sa_uid = nfs_xdrneg1;
1708 sp->sa_gid = nfs_xdrneg1;
1709 sp->sa_size = nfs_xdrneg1;
1710 txdr_nfsv2time(&vap->va_atime, &sp->sa_atime);
1711 txdr_nfsv2time(&vap->va_mtime, &sp->sa_mtime);
1712 }
1713

--- 81 unchanged lines hidden (view full) ---

1795 NFSX_FH(v3) + NFSX_UNSIGNED + nfsm_rndup(len) + NFSX_SATTR(v3));
1796 mb = mreq;
1797 bpos = mtod(mb, caddr_t);
1798 nfsm_fhtom(dvp, v3);
1799 nfsm_strtom(cnp->cn_nameptr, len, NFS_MAXNAMLEN);
1800 if (v3) {
1801 nfsm_v3attrbuild(vap, FALSE);
1802 } else {
1803 nfsm_build(sp, struct nfsv2_sattr *, NFSX_V2SATTR);
1803 sp = nfsm_build(struct nfsv2_sattr *, NFSX_V2SATTR);
1804 sp->sa_mode = vtonfsv2_mode(VDIR, vap->va_mode);
1805 sp->sa_uid = nfs_xdrneg1;
1806 sp->sa_gid = nfs_xdrneg1;
1807 sp->sa_size = nfs_xdrneg1;
1808 txdr_nfsv2time(&vap->va_atime, &sp->sa_atime);
1809 txdr_nfsv2time(&vap->va_mtime, &sp->sa_mtime);
1810 }
1811 nfsm_request(dvp, NFSPROC_MKDIR, cnp->cn_thread, cnp->cn_cred);

--- 154 unchanged lines hidden (view full) ---

1966 while (more_dirs && bigenough) {
1967 nfsstats.rpccnt[NFSPROC_READDIR]++;
1968 mreq = nfsm_reqhead(vp, NFSPROC_READDIR, NFSX_FH(v3) +
1969 NFSX_READDIR(v3));
1970 mb = mreq;
1971 bpos = mtod(mb, caddr_t);
1972 nfsm_fhtom(vp, v3);
1973 if (v3) {
1804 sp->sa_mode = vtonfsv2_mode(VDIR, vap->va_mode);
1805 sp->sa_uid = nfs_xdrneg1;
1806 sp->sa_gid = nfs_xdrneg1;
1807 sp->sa_size = nfs_xdrneg1;
1808 txdr_nfsv2time(&vap->va_atime, &sp->sa_atime);
1809 txdr_nfsv2time(&vap->va_mtime, &sp->sa_mtime);
1810 }
1811 nfsm_request(dvp, NFSPROC_MKDIR, cnp->cn_thread, cnp->cn_cred);

--- 154 unchanged lines hidden (view full) ---

1966 while (more_dirs && bigenough) {
1967 nfsstats.rpccnt[NFSPROC_READDIR]++;
1968 mreq = nfsm_reqhead(vp, NFSPROC_READDIR, NFSX_FH(v3) +
1969 NFSX_READDIR(v3));
1970 mb = mreq;
1971 bpos = mtod(mb, caddr_t);
1972 nfsm_fhtom(vp, v3);
1973 if (v3) {
1974 nfsm_build(tl, u_int32_t *, 5 * NFSX_UNSIGNED);
1974 tl = nfsm_build(u_int32_t *, 5 * NFSX_UNSIGNED);
1975 *tl++ = cookie.nfsuquad[0];
1976 *tl++ = cookie.nfsuquad[1];
1977 *tl++ = dnp->n_cookieverf.nfsuquad[0];
1978 *tl++ = dnp->n_cookieverf.nfsuquad[1];
1979 } else {
1975 *tl++ = cookie.nfsuquad[0];
1976 *tl++ = cookie.nfsuquad[1];
1977 *tl++ = dnp->n_cookieverf.nfsuquad[0];
1978 *tl++ = dnp->n_cookieverf.nfsuquad[1];
1979 } else {
1980 nfsm_build(tl, u_int32_t *, 2 * NFSX_UNSIGNED);
1980 tl = nfsm_build(u_int32_t *, 2 * NFSX_UNSIGNED);
1981 *tl++ = cookie.nfsuquad[0];
1982 }
1983 *tl = txdr_unsigned(nmp->nm_readdirsize);
1984 nfsm_request(vp, NFSPROC_READDIR, uiop->uio_td, cred);
1985 if (v3) {
1986 nfsm_postop_attr(vp, attrflag);
1987 if (!error) {
1988 nfsm_dissect(tl, u_int32_t *,

--- 168 unchanged lines hidden (view full) ---

2157 */
2158 while (more_dirs && bigenough) {
2159 nfsstats.rpccnt[NFSPROC_READDIRPLUS]++;
2160 mreq = nfsm_reqhead(vp, NFSPROC_READDIRPLUS,
2161 NFSX_FH(1) + 6 * NFSX_UNSIGNED);
2162 mb = mreq;
2163 bpos = mtod(mb, caddr_t);
2164 nfsm_fhtom(vp, 1);
1981 *tl++ = cookie.nfsuquad[0];
1982 }
1983 *tl = txdr_unsigned(nmp->nm_readdirsize);
1984 nfsm_request(vp, NFSPROC_READDIR, uiop->uio_td, cred);
1985 if (v3) {
1986 nfsm_postop_attr(vp, attrflag);
1987 if (!error) {
1988 nfsm_dissect(tl, u_int32_t *,

--- 168 unchanged lines hidden (view full) ---

2157 */
2158 while (more_dirs && bigenough) {
2159 nfsstats.rpccnt[NFSPROC_READDIRPLUS]++;
2160 mreq = nfsm_reqhead(vp, NFSPROC_READDIRPLUS,
2161 NFSX_FH(1) + 6 * NFSX_UNSIGNED);
2162 mb = mreq;
2163 bpos = mtod(mb, caddr_t);
2164 nfsm_fhtom(vp, 1);
2165 nfsm_build(tl, u_int32_t *, 6 * NFSX_UNSIGNED);
2165 tl = nfsm_build(u_int32_t *, 6 * NFSX_UNSIGNED);
2166 *tl++ = cookie.nfsuquad[0];
2167 *tl++ = cookie.nfsuquad[1];
2168 *tl++ = dnp->n_cookieverf.nfsuquad[0];
2169 *tl++ = dnp->n_cookieverf.nfsuquad[1];
2170 *tl++ = txdr_unsigned(nmp->nm_readdirsize);
2171 *tl = txdr_unsigned(nmp->nm_rsize);
2172 nfsm_request(vp, NFSPROC_READDIRPLUS, uiop->uio_td, cred);
2173 nfsm_postop_attr(vp, attrflag);

--- 314 unchanged lines hidden (view full) ---

2488
2489 if ((nmp->nm_state & NFSSTA_HASWRITEVERF) == 0)
2490 return (0);
2491 nfsstats.rpccnt[NFSPROC_COMMIT]++;
2492 mreq = nfsm_reqhead(vp, NFSPROC_COMMIT, NFSX_FH(1));
2493 mb = mreq;
2494 bpos = mtod(mb, caddr_t);
2495 nfsm_fhtom(vp, 1);
2166 *tl++ = cookie.nfsuquad[0];
2167 *tl++ = cookie.nfsuquad[1];
2168 *tl++ = dnp->n_cookieverf.nfsuquad[0];
2169 *tl++ = dnp->n_cookieverf.nfsuquad[1];
2170 *tl++ = txdr_unsigned(nmp->nm_readdirsize);
2171 *tl = txdr_unsigned(nmp->nm_rsize);
2172 nfsm_request(vp, NFSPROC_READDIRPLUS, uiop->uio_td, cred);
2173 nfsm_postop_attr(vp, attrflag);

--- 314 unchanged lines hidden (view full) ---

2488
2489 if ((nmp->nm_state & NFSSTA_HASWRITEVERF) == 0)
2490 return (0);
2491 nfsstats.rpccnt[NFSPROC_COMMIT]++;
2492 mreq = nfsm_reqhead(vp, NFSPROC_COMMIT, NFSX_FH(1));
2493 mb = mreq;
2494 bpos = mtod(mb, caddr_t);
2495 nfsm_fhtom(vp, 1);
2496 nfsm_build(tl, u_int32_t *, 3 * NFSX_UNSIGNED);
2496 tl = nfsm_build(u_int32_t *, 3 * NFSX_UNSIGNED);
2497 txdr_hyper(offset, tl);
2498 tl += 2;
2499 *tl = txdr_unsigned(cnt);
2500 nfsm_request(vp, NFSPROC_COMMIT, td, cred);
2501 nfsm_wcc_data(vp, wccflag);
2502 if (!error) {
2503 nfsm_dissect(tl, u_int32_t *, NFSX_V3WRITEVERF);
2504 if (bcmp((caddr_t)nmp->nm_verf, (caddr_t)tl,

--- 607 unchanged lines hidden ---
2497 txdr_hyper(offset, tl);
2498 tl += 2;
2499 *tl = txdr_unsigned(cnt);
2500 nfsm_request(vp, NFSPROC_COMMIT, td, cred);
2501 nfsm_wcc_data(vp, wccflag);
2502 if (!error) {
2503 nfsm_dissect(tl, u_int32_t *, NFSX_V3WRITEVERF);
2504 if (bcmp((caddr_t)nmp->nm_verf, (caddr_t)tl,

--- 607 unchanged lines hidden ---