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 --- |