Deleted Added
full compact
nfs_vnops.c (47028) nfs_vnops.c (47751)
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

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

29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
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
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

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

29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
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 * $Id: nfs_vnops.c,v 1.128 1999/05/06 20:00:30 phk Exp $
37 * $Id: nfs_vnops.c,v 1.129 1999/05/11 19:54:47 phk Exp $
38 */
39
40
41/*
42 * vnode op calls for Sun NFS version 2 and 3
43 */
44
45#include "opt_inet.h"

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

1043 return (EFBIG);
1044 while (tsiz > 0) {
1045 nfsstats.rpccnt[NFSPROC_READ]++;
1046 len = (tsiz > nmp->nm_rsize) ? nmp->nm_rsize : tsiz;
1047 nfsm_reqhead(vp, NFSPROC_READ, NFSX_FH(v3) + NFSX_UNSIGNED * 3);
1048 nfsm_fhtom(vp, v3);
1049 nfsm_build(tl, u_int32_t *, NFSX_UNSIGNED * 3);
1050 if (v3) {
38 */
39
40
41/*
42 * vnode op calls for Sun NFS version 2 and 3
43 */
44
45#include "opt_inet.h"

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

1043 return (EFBIG);
1044 while (tsiz > 0) {
1045 nfsstats.rpccnt[NFSPROC_READ]++;
1046 len = (tsiz > nmp->nm_rsize) ? nmp->nm_rsize : tsiz;
1047 nfsm_reqhead(vp, NFSPROC_READ, NFSX_FH(v3) + NFSX_UNSIGNED * 3);
1048 nfsm_fhtom(vp, v3);
1049 nfsm_build(tl, u_int32_t *, NFSX_UNSIGNED * 3);
1050 if (v3) {
1051 txdr_hyper(&uiop->uio_offset, tl);
1051 txdr_hyper(uiop->uio_offset, tl);
1052 *(tl + 2) = txdr_unsigned(len);
1053 } else {
1054 *tl++ = txdr_unsigned(uiop->uio_offset);
1055 *tl++ = txdr_unsigned(len);
1056 *tl = 0;
1057 }
1058 nfsm_request(vp, NFSPROC_READ, uiop->uio_procp, cred);
1059 if (v3) {

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

1110 while (tsiz > 0) {
1111 nfsstats.rpccnt[NFSPROC_WRITE]++;
1112 len = (tsiz > nmp->nm_wsize) ? nmp->nm_wsize : tsiz;
1113 nfsm_reqhead(vp, NFSPROC_WRITE,
1114 NFSX_FH(v3) + 5 * NFSX_UNSIGNED + nfsm_rndup(len));
1115 nfsm_fhtom(vp, v3);
1116 if (v3) {
1117 nfsm_build(tl, u_int32_t *, 5 * NFSX_UNSIGNED);
1052 *(tl + 2) = txdr_unsigned(len);
1053 } else {
1054 *tl++ = txdr_unsigned(uiop->uio_offset);
1055 *tl++ = txdr_unsigned(len);
1056 *tl = 0;
1057 }
1058 nfsm_request(vp, NFSPROC_READ, uiop->uio_procp, cred);
1059 if (v3) {

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

1110 while (tsiz > 0) {
1111 nfsstats.rpccnt[NFSPROC_WRITE]++;
1112 len = (tsiz > nmp->nm_wsize) ? nmp->nm_wsize : tsiz;
1113 nfsm_reqhead(vp, NFSPROC_WRITE,
1114 NFSX_FH(v3) + 5 * NFSX_UNSIGNED + nfsm_rndup(len));
1115 nfsm_fhtom(vp, v3);
1116 if (v3) {
1117 nfsm_build(tl, u_int32_t *, 5 * NFSX_UNSIGNED);
1118 txdr_hyper(&uiop->uio_offset, tl);
1118 txdr_hyper(uiop->uio_offset, tl);
1119 tl += 2;
1120 *tl++ = txdr_unsigned(len);
1121 *tl++ = txdr_unsigned(*iomode);
1122 *tl = txdr_unsigned(len);
1123 } else {
1124 register u_int32_t x;
1125
1126 nfsm_build(tl, u_int32_t *, 4 * NFSX_UNSIGNED);

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

2070 nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED);
2071 more_dirs = fxdr_unsigned(int, *tl);
2072
2073 /* loop thru the dir entries, doctoring them to 4bsd form */
2074 while (more_dirs && bigenough) {
2075 if (v3) {
2076 nfsm_dissect(tl, u_int32_t *,
2077 3 * NFSX_UNSIGNED);
1119 tl += 2;
1120 *tl++ = txdr_unsigned(len);
1121 *tl++ = txdr_unsigned(*iomode);
1122 *tl = txdr_unsigned(len);
1123 } else {
1124 register u_int32_t x;
1125
1126 nfsm_build(tl, u_int32_t *, 4 * NFSX_UNSIGNED);

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

2070 nfsm_dissect(tl, u_int32_t *, NFSX_UNSIGNED);
2071 more_dirs = fxdr_unsigned(int, *tl);
2072
2073 /* loop thru the dir entries, doctoring them to 4bsd form */
2074 while (more_dirs && bigenough) {
2075 if (v3) {
2076 nfsm_dissect(tl, u_int32_t *,
2077 3 * NFSX_UNSIGNED);
2078 fxdr_hyper(tl, &fileno);
2078 fileno = fxdr_hyper(tl);
2079 len = fxdr_unsigned(int, *(tl + 2));
2080 } else {
2081 nfsm_dissect(tl, u_int32_t *,
2082 2 * NFSX_UNSIGNED);
2083 fileno = fxdr_unsigned(u_quad_t, *tl++);
2084 len = fxdr_unsigned(int, *tl);
2085 }
2086 if (len <= 0 || len > NFS_MAXNAMLEN) {

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

2253 nfsm_dissect(tl, u_int32_t *, 3 * NFSX_UNSIGNED);
2254 dnp->n_cookieverf.nfsuquad[0] = *tl++;
2255 dnp->n_cookieverf.nfsuquad[1] = *tl++;
2256 more_dirs = fxdr_unsigned(int, *tl);
2257
2258 /* loop thru the dir entries, doctoring them to 4bsd form */
2259 while (more_dirs && bigenough) {
2260 nfsm_dissect(tl, u_int32_t *, 3 * NFSX_UNSIGNED);
2079 len = fxdr_unsigned(int, *(tl + 2));
2080 } else {
2081 nfsm_dissect(tl, u_int32_t *,
2082 2 * NFSX_UNSIGNED);
2083 fileno = fxdr_unsigned(u_quad_t, *tl++);
2084 len = fxdr_unsigned(int, *tl);
2085 }
2086 if (len <= 0 || len > NFS_MAXNAMLEN) {

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

2253 nfsm_dissect(tl, u_int32_t *, 3 * NFSX_UNSIGNED);
2254 dnp->n_cookieverf.nfsuquad[0] = *tl++;
2255 dnp->n_cookieverf.nfsuquad[1] = *tl++;
2256 more_dirs = fxdr_unsigned(int, *tl);
2257
2258 /* loop thru the dir entries, doctoring them to 4bsd form */
2259 while (more_dirs && bigenough) {
2260 nfsm_dissect(tl, u_int32_t *, 3 * NFSX_UNSIGNED);
2261 fxdr_hyper(tl, &fileno);
2261 fileno = fxdr_hyper(tl);
2262 len = fxdr_unsigned(int, *(tl + 2));
2263 if (len <= 0 || len > NFS_MAXNAMLEN) {
2264 error = EBADRPC;
2265 m_freem(mrep);
2266 goto nfsmout;
2267 }
2268 tlen = nfsm_rndup(len);
2269 if (tlen == len)

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

2575 struct mbuf *mreq, *mrep, *md, *mb, *mb2;
2576
2577 if ((nmp->nm_state & NFSSTA_HASWRITEVERF) == 0)
2578 return (0);
2579 nfsstats.rpccnt[NFSPROC_COMMIT]++;
2580 nfsm_reqhead(vp, NFSPROC_COMMIT, NFSX_FH(1));
2581 nfsm_fhtom(vp, 1);
2582 nfsm_build(tl, u_int32_t *, 3 * NFSX_UNSIGNED);
2262 len = fxdr_unsigned(int, *(tl + 2));
2263 if (len <= 0 || len > NFS_MAXNAMLEN) {
2264 error = EBADRPC;
2265 m_freem(mrep);
2266 goto nfsmout;
2267 }
2268 tlen = nfsm_rndup(len);
2269 if (tlen == len)

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

2575 struct mbuf *mreq, *mrep, *md, *mb, *mb2;
2576
2577 if ((nmp->nm_state & NFSSTA_HASWRITEVERF) == 0)
2578 return (0);
2579 nfsstats.rpccnt[NFSPROC_COMMIT]++;
2580 nfsm_reqhead(vp, NFSPROC_COMMIT, NFSX_FH(1));
2581 nfsm_fhtom(vp, 1);
2582 nfsm_build(tl, u_int32_t *, 3 * NFSX_UNSIGNED);
2583 txdr_hyper(&offset, tl);
2583 txdr_hyper(offset, tl);
2584 tl += 2;
2585 *tl = txdr_unsigned(cnt);
2586 nfsm_request(vp, NFSPROC_COMMIT, procp, cred);
2587 nfsm_wcc_data(vp, wccflag);
2588 if (!error) {
2589 nfsm_dissect(tl, u_int32_t *, NFSX_V3WRITEVERF);
2590 if (bcmp((caddr_t)nmp->nm_verf, (caddr_t)tl,
2591 NFSX_V3WRITEVERF)) {

--- 746 unchanged lines hidden ---
2584 tl += 2;
2585 *tl = txdr_unsigned(cnt);
2586 nfsm_request(vp, NFSPROC_COMMIT, procp, cred);
2587 nfsm_wcc_data(vp, wccflag);
2588 if (!error) {
2589 nfsm_dissect(tl, u_int32_t *, NFSX_V3WRITEVERF);
2590 if (bcmp((caddr_t)nmp->nm_verf, (caddr_t)tl,
2591 NFSX_V3WRITEVERF)) {

--- 746 unchanged lines hidden ---