Author: dfr
Date: Tue Jun 30 19:03:27 2009
New Revision: 195202
URL: http://svn.freebsd.org/changeset/base/195202

Log:
  Remove the old kernel RPC implementation and the NFS_LEGACYRPC option.
  
  Approved by: re

Deleted:
  head/sys/nfs/rpcv2.h
  head/sys/nfsclient/nfs_socket.c
  head/sys/nfsserver/nfs_srvcache.c
  head/sys/nfsserver/nfs_srvsock.c
  head/sys/nfsserver/nfs_syscalls.c
Modified:
  head/sys/conf/files
  head/sys/conf/options
  head/sys/i386/i386/genassym.c
  head/sys/modules/nfsclient/Makefile
  head/sys/modules/nfsserver/Makefile
  head/sys/nfs/nfs_common.c
  head/sys/nfsclient/bootp_subr.c
  head/sys/nfsclient/krpc_subr.c
  head/sys/nfsclient/nfs.h
  head/sys/nfsclient/nfs_bio.c
  head/sys/nfsclient/nfs_diskless.c
  head/sys/nfsclient/nfs_krpc.c
  head/sys/nfsclient/nfs_lock.c
  head/sys/nfsclient/nfs_nfsiod.c
  head/sys/nfsclient/nfs_node.c
  head/sys/nfsclient/nfs_subs.c
  head/sys/nfsclient/nfs_vfsops.c
  head/sys/nfsclient/nfs_vnops.c
  head/sys/nfsclient/nfsm_subs.h
  head/sys/nfsclient/nfsmount.h
  head/sys/nfsserver/nfs.h
  head/sys/nfsserver/nfs_fha.c
  head/sys/nfsserver/nfs_serv.c
  head/sys/nfsserver/nfs_srvkrpc.c
  head/sys/nfsserver/nfs_srvsubs.c
  head/sys/nfsserver/nfsrvcache.h

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Tue Jun 30 18:52:36 2009        (r195201)
+++ head/sys/conf/files Tue Jun 30 19:03:27 2009        (r195202)
@@ -2490,7 +2490,6 @@ nfsclient/krpc_subr.c             optional bootp nf
 nfsclient/nfs_bio.c            optional nfsclient
 nfsclient/nfs_diskless.c       optional nfsclient nfs_root
 nfsclient/nfs_node.c           optional nfsclient
-nfsclient/nfs_socket.c         optional nfsclient
 nfsclient/nfs_krpc.c           optional nfsclient
 nfsclient/nfs_subs.c           optional nfsclient
 nfsclient/nfs_nfsiod.c         optional nfsclient
@@ -2500,10 +2499,7 @@ nfsclient/nfs_lock.c             optional nfsclient
 nfsserver/nfs_fha.c            optional nfsserver
 nfsserver/nfs_serv.c           optional nfsserver
 nfsserver/nfs_srvkrpc.c                optional nfsserver
-nfsserver/nfs_srvsock.c                optional nfsserver
-nfsserver/nfs_srvcache.c       optional nfsserver
 nfsserver/nfs_srvsubs.c                optional nfsserver
-nfsserver/nfs_syscalls.c       optional nfsserver
 nfs/nfs_nfssvc.c               optional nfsserver | nfscl | nfsd
 nlm/nlm_advlock.c              optional nfslockd nfsclient | nfsd nfsclient
 nlm/nlm_prot_clnt.c            optional nfslockd | nfsd

Modified: head/sys/conf/options
==============================================================================
--- head/sys/conf/options       Tue Jun 30 18:52:36 2009        (r195201)
+++ head/sys/conf/options       Tue Jun 30 19:03:27 2009        (r195202)
@@ -228,11 +228,6 @@ KGSSAPI_DEBUG      opt_kgssapi.h
 NFSCLIENT      opt_nfs.h
 NFSSERVER      opt_nfs.h
 
-# Use this option to compile both NFS client and server using the
-# legacy RPC implementation instead of the newer KRPC system (which
-# supports modern features such as RPCSEC_GSS
-NFS_LEGACYRPC  opt_nfs.h
-
 # Use these options to compile the experimental nfs client and/or
 # server that supports NFSv4 into a kernel.
 # NFSCL - client

Modified: head/sys/i386/i386/genassym.c
==============================================================================
--- head/sys/i386/i386/genassym.c       Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/i386/i386/genassym.c       Tue Jun 30 19:03:27 2009        
(r195202)
@@ -67,7 +67,6 @@ __FBSDID("$FreeBSD$");
 #include <net/if.h>
 #include <netinet/in.h>
 #include <nfs/nfsproto.h>
-#include <nfs/rpcv2.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsdiskless.h>
 #ifdef DEV_APIC

Modified: head/sys/modules/nfsclient/Makefile
==============================================================================
--- head/sys/modules/nfsclient/Makefile Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/modules/nfsclient/Makefile Tue Jun 30 19:03:27 2009        
(r195202)
@@ -4,7 +4,7 @@
 
 KMOD=  nfsclient
 SRCS=  vnode_if.h \
-       nfs_bio.c nfs_lock.c nfs_node.c nfs_socket.c nfs_subs.c nfs_nfsiod.c \
+       nfs_bio.c nfs_lock.c nfs_node.c nfs_subs.c nfs_nfsiod.c \
        nfs_vfsops.c nfs_vnops.c nfs_common.c nfs_krpc.c \
        opt_inet.h opt_nfs.h opt_bootp.h opt_nfsroot.h
 SRCS+= opt_inet6.h opt_kdtrace.h opt_kgssapi.h

Modified: head/sys/modules/nfsserver/Makefile
==============================================================================
--- head/sys/modules/nfsserver/Makefile Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/modules/nfsserver/Makefile Tue Jun 30 19:03:27 2009        
(r195202)
@@ -3,8 +3,8 @@
 .PATH: ${.CURDIR}/../../nfsserver ${.CURDIR}/../../nfs
 KMOD=  nfsserver
 SRCS=  vnode_if.h \
-       nfs_fha.c nfs_serv.c nfs_srvkrpc.c nfs_srvsock.c nfs_srvcache.c \
-       nfs_srvsubs.c nfs_syscalls.c nfs_common.c \
+       nfs_fha.c nfs_serv.c nfs_srvkrpc.c nfs_srvsubs.c nfs_common.c \
+       opt_mac.h \
        opt_kgssapi.h \
        opt_nfs.h
 SRCS+= opt_inet6.h

Modified: head/sys/nfs/nfs_common.c
==============================================================================
--- head/sys/nfs/nfs_common.c   Tue Jun 30 18:52:36 2009        (r195201)
+++ head/sys/nfs/nfs_common.c   Tue Jun 30 19:03:27 2009        (r195202)
@@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm_object.h>
 #include <vm/vm_extern.h>
 
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsserver/nfs.h>
 #include <nfs/xdr_subs.h>

Modified: head/sys/nfsclient/bootp_subr.c
==============================================================================
--- head/sys/nfsclient/bootp_subr.c     Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/bootp_subr.c     Tue Jun 30 19:03:27 2009        
(r195202)
@@ -68,7 +68,6 @@ __FBSDID("$FreeBSD$");
 #include <net/if_dl.h>
 #include <net/vnet.h>
 
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsdiskless.h>
@@ -1776,6 +1775,13 @@ md_mount(struct sockaddr_in *mdsin, char
        int authcount;
        int authver;
 
+#define        RPCPROG_MNT     100005
+#define        RPCMNT_VER1     1
+#define RPCMNT_VER3    3
+#define        RPCMNT_MOUNT    1
+#define        AUTH_SYS        1               /* unix style (uid, gids) */
+#define AUTH_UNIX      AUTH_SYS
+
        /* XXX honor v2/v3 flags in args->flags? */
 #ifdef BOOTP_NFSV3
        /* First try NFS v3 */
@@ -1836,7 +1842,7 @@ md_mount(struct sockaddr_in *mdsin, char
                while (authcount > 0) {
                        if (xdr_int_decode(&m, &authver) != 0)
                                goto bad;
-                       if (authver == RPCAUTH_UNIX)
+                       if (authver == AUTH_UNIX)
                                authunixok = 1;
                        authcount--;
                }

Modified: head/sys/nfsclient/krpc_subr.c
==============================================================================
--- head/sys/nfsclient/krpc_subr.c      Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/krpc_subr.c      Tue Jun 30 19:03:27 2009        
(r195202)
@@ -57,7 +57,9 @@ __FBSDID("$FreeBSD$");
 #include <net/if.h>
 #include <netinet/in.h>
 
-#include <nfs/rpcv2.h>
+#include <rpc/types.h>
+#include <rpc/auth.h>
+#include <rpc/rpc_msg.h>
 #include <nfsclient/krpc.h>
 #include <nfs/xdr_subs.h>
 
@@ -284,7 +286,7 @@ krpc_call(struct sockaddr_in *sa, u_int 
        call->rp_vers = txdr_unsigned(vers);
        call->rp_proc = txdr_unsigned(func);
        /* rpc_auth part (auth_unix as root) */
-       call->rpc_auth.authtype = txdr_unsigned(RPCAUTH_UNIX);
+       call->rpc_auth.authtype = txdr_unsigned(AUTH_UNIX);
        call->rpc_auth.authlen  = txdr_unsigned(sizeof(struct auth_unix));
        /* rpc_verf part (auth_null) */
        call->rpc_verf.authtype = 0;
@@ -359,7 +361,7 @@ krpc_call(struct sockaddr_in *sa, u_int 
                        reply = mtod(m, struct krpc_reply *);
 
                        /* Is it the right reply? */
-                       if (reply->rp_direction != txdr_unsigned(RPC_REPLY))
+                       if (reply->rp_direction != txdr_unsigned(REPLY))
                                continue;
 
                        if (reply->rp_xid != txdr_unsigned(xid))
@@ -375,7 +377,7 @@ krpc_call(struct sockaddr_in *sa, u_int 
                        /* Did the call succeed? */
                        if (reply->rp_status != 0) {
                                error = fxdr_unsigned(u_int32_t, 
reply->rp_status);
-                               if (error == RPC_PROGMISMATCH) {
+                               if (error == PROG_MISMATCH) {
                                  error = EBADRPC;
                                  goto out;
                                }

Modified: head/sys/nfsclient/nfs.h
==============================================================================
--- head/sys/nfsclient/nfs.h    Tue Jun 30 18:52:36 2009        (r195201)
+++ head/sys/nfsclient/nfs.h    Tue Jun 30 19:03:27 2009        (r195202)
@@ -123,9 +123,6 @@ MALLOC_DECLARE(M_NFSDIRECTIO);
 
 extern struct uma_zone *nfsmount_zone;
 
-#ifdef NFS_LEGACYRPC
-extern struct callout nfs_callout;
-#endif
 extern struct nfsstats nfsstats;
 extern struct mtx nfs_iod_mtx;
 
@@ -150,49 +147,6 @@ extern int nfsv3_procid[NFS_NPROCS];
                (e) != ERESTART && (e) != EWOULDBLOCK && \
                ((s) & PR_CONNREQUIRED) == 0)
 
-#ifdef NFS_LEGACYRPC
-
-/*
- * Nfs outstanding request list element
- */
-struct nfsreq {
-       TAILQ_ENTRY(nfsreq) r_chain;
-       struct mbuf     *r_mreq;
-       struct mbuf     *r_mrep;
-       struct mbuf     *r_md;
-       caddr_t         r_dpos;
-       struct nfsmount *r_nmp;
-       struct vnode    *r_vp;
-       u_int32_t       r_xid;
-       int             r_flags;        /* flags on request, see below */
-       int             r_retry;        /* max retransmission count */
-       int             r_rexmit;       /* current retrans count */
-       int             r_timer;        /* tick counter on reply */
-       u_int32_t       r_procnum;      /* NFS procedure number */
-       int             r_rtt;          /* RTT for rpc */
-       int             r_lastmsg;      /* last tprintf */
-       struct thread   *r_td;          /* Proc that did I/O system call */
-       struct mtx      r_mtx;          /* Protects nfsreq fields */
-};
-
-/*
- * Queue head for nfsreq's
- */
-extern TAILQ_HEAD(nfs_reqq, nfsreq) nfs_reqq;
-
-/* Flag values for r_flags */
-#define R_TIMING       0x01            /* timing request (in mntp) */
-#define R_SENT         0x02            /* request has been sent */
-#define        R_SOFTTERM      0x04            /* soft mnt, too many retries */
-#define        R_RESENDERR     0x08            /* Resend failed */
-#define        R_SOCKERR       0x10            /* Fatal error on socket */
-#define        R_TPRINTFMSG    0x20            /* Did a tprintf msg. */
-#define        R_MUSTRESEND    0x40            /* Must resend request */
-#define        R_GETONEREP     0x80            /* Probe for one reply only */
-#define        R_PIN_REQ       0x100           /* Pin request down (rexmit in 
prog or other) */
-
-#else
-
 /*
  * This is only needed to keep things working while we support
  * compiling for both RPC implementations.
@@ -200,8 +154,6 @@ extern TAILQ_HEAD(nfs_reqq, nfsreq) nfs_
 struct nfsreq;
 struct nfsmount;
 
-#endif
-
 struct buf;
 struct socket;
 struct uio;
@@ -297,19 +249,6 @@ vfs_init_t nfs_init;
 vfs_uninit_t nfs_uninit;
 int    nfs_mountroot(struct mount *mp);
 
-#ifdef NFS_LEGACYRPC
-#ifndef NFS4_USE_RPCCLNT
-int    nfs_send(struct socket *, struct sockaddr *, struct mbuf *,
-           struct nfsreq *);
-int    nfs_connect_lock(struct nfsreq *);
-void   nfs_connect_unlock(struct nfsreq *);
-void   nfs_up(struct nfsreq *, struct nfsmount *, struct thread *,
-           const char *, int);
-void   nfs_down(struct nfsreq *, struct nfsmount *, struct thread *,
-           const char *, int, int);
-#endif /* ! NFS4_USE_RPCCLNT */
-#endif
-
 void   nfs_purgecache(struct vnode *);
 int    nfs_vinvalbuf(struct vnode *, int, struct thread *, int);
 int    nfs_readrpc(struct vnode *, struct uio *, struct ucred *);

Modified: head/sys/nfsclient/nfs_bio.c
==============================================================================
--- head/sys/nfsclient/nfs_bio.c        Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfs_bio.c        Tue Jun 30 19:03:27 2009        
(r195202)
@@ -57,7 +57,6 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm_pager.h>
 #include <vm/vnode_pager.h>
 
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsmount.h>

Modified: head/sys/nfsclient/nfs_diskless.c
==============================================================================
--- head/sys/nfsclient/nfs_diskless.c   Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfs_diskless.c   Tue Jun 30 19:03:27 2009        
(r195202)
@@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$");
 #include <net/vnet.h>
 
 #include <netinet/in.h>
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsdiskless.h>

Modified: head/sys/nfsclient/nfs_krpc.c
==============================================================================
--- head/sys/nfsclient/nfs_krpc.c       Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfs_krpc.c       Tue Jun 30 19:03:27 2009        
(r195202)
@@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$");
 
 #include <rpc/rpc.h>
 
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
 #include <nfs/xdr_subs.h>
@@ -69,8 +68,6 @@ __FBSDID("$FreeBSD$");
 #include <nfsclient/nfsmount.h>
 #include <nfsclient/nfsnode.h>
 
-#ifndef NFS_LEGACYRPC
-
 #ifdef KDTRACE_HOOKS
 #include <sys/dtrace_bsd.h>
 
@@ -899,5 +896,3 @@ nfs_up(struct nfsmount *nmp, struct thre
        } else
                mtx_unlock(&nmp->nm_mtx);
 }
-
-#endif /* !NFS_LEGACYRPC */

Modified: head/sys/nfsclient/nfs_lock.c
==============================================================================
--- head/sys/nfsclient/nfs_lock.c       Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfs_lock.c       Tue Jun 30 19:03:27 2009        
(r195202)
@@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$");
 
 #include <net/if.h>
 
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsmount.h>

Modified: head/sys/nfsclient/nfs_nfsiod.c
==============================================================================
--- head/sys/nfsclient/nfs_nfsiod.c     Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfs_nfsiod.c     Tue Jun 30 19:03:27 2009        
(r195202)
@@ -64,7 +64,6 @@ __FBSDID("$FreeBSD$");
 #include <netinet/tcp.h>
 
 #include <nfs/xdr_subs.h>
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsm_subs.h>

Modified: head/sys/nfsclient/nfs_node.c
==============================================================================
--- head/sys/nfsclient/nfs_node.c       Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfs_node.c       Tue Jun 30 19:03:27 2009        
(r195202)
@@ -50,7 +50,6 @@ __FBSDID("$FreeBSD$");
 
 #include <vm/uma.h>
 
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsnode.h>

Modified: head/sys/nfsclient/nfs_subs.c
==============================================================================
--- head/sys/nfsclient/nfs_subs.c       Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfs_subs.c       Tue Jun 30 19:03:27 2009        
(r195202)
@@ -65,7 +65,6 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm_extern.h>
 #include <vm/uma.h>
 
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsnode.h>
@@ -105,8 +104,6 @@ uint32_t nfsclient_attrcache_load_done_i
  * This is kinda hokey, but may save a little time doing byte swaps
  */
 u_int32_t      nfs_xdrneg1;
-u_int32_t      rpc_call, rpc_vers, rpc_reply, rpc_msgdenied, rpc_autherr,
-                   rpc_mismatch, rpc_auth_unix, rpc_msgaccepted;
 u_int32_t      nfs_true, nfs_false;
 
 /* And other global data */
@@ -118,10 +115,6 @@ static enum vtype nv2tov_type[8]= {
 int            nfs_ticks;
 int            nfs_pbuf_freecnt = -1;  /* start out unlimited */
 
-#ifdef NFS_LEGACYRPC
-struct nfs_reqq        nfs_reqq;
-struct mtx nfs_reqq_mtx;
-#endif
 struct nfs_bufq        nfs_bufq;
 static struct mtx nfs_xid_mtx;
 
@@ -194,87 +187,6 @@ nfsm_reqhead(struct vnode *vp, u_long pr
 }
 
 /*
- * Build the RPC header and fill in the authorization info.
- * The authorization string argument is only used when the credentials
- * come from outside of the kernel.
- * Returns the head of the mbuf list.
- */
-struct mbuf *
-nfsm_rpchead(struct ucred *cr, int nmflag, int procid, int auth_type,
-    int auth_len, struct mbuf *mrest, int mrest_len, struct mbuf **mbp,
-    u_int32_t **xidpp)
-{
-       struct mbuf *mb;
-       u_int32_t *tl;
-       caddr_t bpos;
-       int i;
-       struct mbuf *mreq;
-       int grpsiz, authsiz;
-
-       authsiz = nfsm_rndup(auth_len);
-       MGETHDR(mb, M_WAIT, MT_DATA);
-       if ((authsiz + 10 * NFSX_UNSIGNED) >= MINCLSIZE) {
-               MCLGET(mb, M_WAIT);
-       } else if ((authsiz + 10 * NFSX_UNSIGNED) < MHLEN) {
-               MH_ALIGN(mb, authsiz + 10 * NFSX_UNSIGNED);
-       } else {
-               MH_ALIGN(mb, 8 * NFSX_UNSIGNED);
-       }
-       mb->m_len = 0;
-       mreq = mb;
-       bpos = mtod(mb, caddr_t);
-
-       /*
-        * First the RPC header.
-        */
-       tl = nfsm_build(u_int32_t *, 8 * NFSX_UNSIGNED);
-
-       *xidpp = tl;
-       *tl++ = txdr_unsigned(nfs_xid_gen());
-       *tl++ = rpc_call;
-       *tl++ = rpc_vers;
-       *tl++ = txdr_unsigned(NFS_PROG);
-       if (nmflag & NFSMNT_NFSV3) {
-               *tl++ = txdr_unsigned(NFS_VER3);
-               *tl++ = txdr_unsigned(procid);
-       } else {
-               *tl++ = txdr_unsigned(NFS_VER2);
-               *tl++ = txdr_unsigned(nfsv2_procid[procid]);
-       }
-
-       /*
-        * And then the authorization cred.
-        */
-       *tl++ = txdr_unsigned(auth_type);
-       *tl = txdr_unsigned(authsiz);
-       switch (auth_type) {
-       case RPCAUTH_UNIX:
-               tl = nfsm_build(u_int32_t *, auth_len);
-               *tl++ = 0;              /* stamp ?? */
-               *tl++ = 0;              /* NULL hostname */
-               *tl++ = txdr_unsigned(cr->cr_uid);
-               *tl++ = txdr_unsigned(cr->cr_groups[0]);
-               grpsiz = (auth_len >> 2) - 5;
-               *tl++ = txdr_unsigned(grpsiz);
-               for (i = 1; i <= grpsiz; i++)
-                       *tl++ = txdr_unsigned(cr->cr_groups[i]);
-               break;
-       }
-
-       /*
-        * And the verifier...
-        */
-       tl = nfsm_build(u_int32_t *, 2 * NFSX_UNSIGNED);
-       *tl++ = txdr_unsigned(RPCAUTH_NULL);
-       *tl = 0;
-       mb->m_next = mrest;
-       mreq->m_pkthdr.len = authsiz + 10 * NFSX_UNSIGNED + mrest_len;
-       mreq->m_pkthdr.rcvif = NULL;
-       *mbp = mb;
-       return (mreq);
-}
-
-/*
  * copies a uio scatter/gather list to an mbuf chain.
  * NOTE: can ony handle iovcnt == 1
  */
@@ -427,14 +339,6 @@ nfs_init(struct vfsconf *vfsp)
 
        nfsmount_zone = uma_zcreate("NFSMOUNT", sizeof(struct nfsmount),
            NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0);
-       rpc_vers = txdr_unsigned(RPC_VER2);
-       rpc_call = txdr_unsigned(RPC_CALL);
-       rpc_reply = txdr_unsigned(RPC_REPLY);
-       rpc_msgdenied = txdr_unsigned(RPC_MSGDENIED);
-       rpc_msgaccepted = txdr_unsigned(RPC_MSGACCEPTED);
-       rpc_mismatch = txdr_unsigned(RPC_MISMATCH);
-       rpc_autherr = txdr_unsigned(RPC_AUTHERR);
-       rpc_auth_unix = txdr_unsigned(RPCAUTH_UNIX);
        nfs_true = txdr_unsigned(TRUE);
        nfs_false = txdr_unsigned(FALSE);
        nfs_xdrneg1 = txdr_unsigned(-1);
@@ -451,11 +355,6 @@ nfs_init(struct vfsconf *vfsp)
        /*
         * Initialize reply list and start timer
         */
-#ifdef NFS_LEGACYRPC
-       TAILQ_INIT(&nfs_reqq);
-       mtx_init(&nfs_reqq_mtx, "NFS reqq lock", NULL, MTX_DEF);
-       callout_init(&nfs_callout, CALLOUT_MPSAFE);
-#endif
        mtx_init(&nfs_iod_mtx, "NFS iod lock", NULL, MTX_DEF);
        mtx_init(&nfs_xid_mtx, "NFS xid lock", NULL, MTX_DEF);
 
@@ -469,13 +368,6 @@ nfs_uninit(struct vfsconf *vfsp)
 {
        int i;
 
-#ifdef NFS_LEGACYRPC
-       callout_stop(&nfs_callout);
-
-       KASSERT(TAILQ_EMPTY(&nfs_reqq),
-           ("nfs_uninit: request queue not empty"));
-#endif
-
        /*
         * Tell all nfsiod processes to exit. Clear nfs_iodmax, and wakeup
         * any sleeping nfsiods so they check nfs_iodmax and exit.

Modified: head/sys/nfsclient/nfs_vfsops.c
==============================================================================
--- head/sys/nfsclient/nfs_vfsops.c     Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfs_vfsops.c     Tue Jun 30 19:03:27 2009        
(r195202)
@@ -68,7 +68,6 @@ __FBSDID("$FreeBSD$");
 
 #include <rpc/rpc.h>
 
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsnode.h>
@@ -142,9 +141,7 @@ VFS_SET(nfs_vfsops, nfs, VFCF_NETWORK);
 
 /* So that loader and kldload(2) can find us, wherever we are.. */
 MODULE_VERSION(nfs, 1);
-#ifndef NFS_LEGACYRPC
 MODULE_DEPEND(nfs, krpc, 1, 1, 1);
-#endif
 #ifdef KGSSAPI
 MODULE_DEPEND(nfs, kgssapi, 1, 1, 1);
 #endif
@@ -551,7 +548,6 @@ nfs_mountdiskless(char *path,
        return (0);
 }
 
-#ifndef NFS_LEGACYRPC
 static int
 nfs_sec_name_to_num(char *sec)
 {
@@ -569,7 +565,6 @@ nfs_sec_name_to_num(char *sec)
         */
        return (AUTH_SYS);
 }
-#endif
 
 static void
 nfs_decode_args(struct mount *mp, struct nfsmount *nmp, struct nfs_args *argp,
@@ -579,10 +574,8 @@ nfs_decode_args(struct mount *mp, struct
        int adjsock;
        int maxio;
        char *p;
-#ifndef NFS_LEGACYRPC
        char *secname;
        char *principal;
-#endif
 
        s = splnet();
 
@@ -734,13 +727,7 @@ nfs_decode_args(struct mount *mp, struct
        nmp->nm_sotype = argp->sotype;
        nmp->nm_soproto = argp->proto;
 
-       if (
-#ifdef NFS_LEGACYRPC
-               nmp->nm_so
-#else
-               nmp->nm_client
-#endif
-           && adjsock) {
+       if (nmp->nm_client && adjsock) {
                nfs_safedisconnect(nmp);
                if (nmp->nm_sotype == SOCK_DGRAM)
                        while (nfs_connect(nmp, NULL)) {
@@ -757,7 +744,6 @@ nfs_decode_args(struct mount *mp, struct
                        *p = '\0';
        }
 
-#ifndef NFS_LEGACYRPC
        if (vfs_getopt(mp->mnt_optnew, "sec",
                (void **) &secname, NULL) == 0) {
                nmp->nm_secflavor = nfs_sec_name_to_num(secname);
@@ -773,7 +759,6 @@ nfs_decode_args(struct mount *mp, struct
                snprintf(nmp->nm_principal, sizeof(nmp->nm_principal),
                    "n...@%s", nmp->nm_hostname);
        }
-#endif
 }
 
 static const char *nfs_opts[] = { "from", "nfs_args",

Modified: head/sys/nfsclient/nfs_vnops.c
==============================================================================
--- head/sys/nfsclient/nfs_vnops.c      Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfs_vnops.c      Tue Jun 30 19:03:27 2009        
(r195202)
@@ -70,7 +70,6 @@ __FBSDID("$FreeBSD$");
 
 #include <fs/fifofs/fifo.h>
 
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsnode.h>
@@ -3193,7 +3192,7 @@ loop:
                                           &np->n_mtx, slpflag | (PRIBIO + 1), 
                                           "nfsfsync", 0);
                        if (error) {
-                               if (nfs_sigintr(nmp, (struct nfsreq *)0, td)) {
+                               if (nfs_sigintr(nmp, NULL, td)) {
                                        mtx_unlock(&np->n_mtx);
                                        error = EINTR;  
                                        goto done;

Modified: head/sys/nfsclient/nfsm_subs.h
==============================================================================
--- head/sys/nfsclient/nfsm_subs.h      Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfsm_subs.h      Tue Jun 30 19:03:27 2009        
(r195202)
@@ -54,10 +54,6 @@ struct vnode;
  */
 u_int32_t nfs_xid_gen(void);
 struct mbuf *nfsm_reqhead(struct vnode *vp, u_long procid, int hsiz);
-struct mbuf *nfsm_rpchead(struct ucred *cr, int nmflag, int procid,
-                         int auth_type, int auth_len,
-                         struct mbuf *mrest, int mrest_len,
-                         struct mbuf **mbp, u_int32_t **xidpp);
 
 #define        M_HASCL(m)      ((m)->m_flags & M_EXT)
 #define        NFSMINOFF(m) \

Modified: head/sys/nfsclient/nfsmount.h
==============================================================================
--- head/sys/nfsclient/nfsmount.h       Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsclient/nfsmount.h       Tue Jun 30 19:03:27 2009        
(r195202)
@@ -36,36 +36,11 @@
 #ifndef _NFSCLIENT_NFSMOUNT_H_
 #define _NFSCLIENT_NFSMOUNT_H_
 
-#ifndef NFS_LEGACYRPC
-
-#undef RPC_SUCCESS
-#undef RPC_PROGUNAVAIL
-#undef RPC_PROCUNAVAIL
-#undef AUTH_OK
-#undef AUTH_BADCRED
-#undef AUTH_BADVERF
-#undef AUTH_TOOWEAK
-
 #include <rpc/types.h>
 #include <rpc/auth.h>
 #include <rpc/clnt.h>
 #include <rpc/rpcsec_gss.h>
 
-#endif
-
-#ifdef NFS_LEGACYRPC
-
-struct nfs_tcp_mountstate {
-       int rpcresid;
-#define NFS_TCP_EXPECT_RPCMARKER       0x0001 /* Expect to see a RPC/TCP 
marker next */
-#define NFS_TCP_FORCE_RECONNECT        0x0002 /* Force a TCP reconnect */
-#define NFS_TCP_WAIT_WRITE_DRAIN       0x0004 /* Waiting for socket writers to 
finish */
-       int flags;
-       int sock_send_inprog;
-};
-
-#endif
-
 /*
  * Mount structure.
  * One allocated on every NFS mount.
@@ -79,22 +54,12 @@ struct      nfsmount {
        int     nm_numgrps;             /* Max. size of groupslist */
        u_char  nm_fh[NFSX_V4FH];       /* File handle of root dir */
        int     nm_fhsize;              /* Size of root file handle */
-#ifdef NFS_LEGACYRPC
-       struct  socket *nm_so;          /* Rpc socket */
-#endif
        int     nm_sotype;              /* Type of socket */
        int     nm_soproto;             /* and protocol */
        int     nm_soflags;             /* pr_flags for socket protocol */
        struct  sockaddr *nm_nam;       /* Addr of server */
        int     nm_timeo;               /* Init timer for NFSMNT_DUMBTIMR */
        int     nm_retry;               /* Max retries */
-#ifdef NFS_LEGACYRPC
-       int     nm_srtt[NFS_MAX_TIMER], /* RTT Timers for rpcs */
-               nm_sdrtt[NFS_MAX_TIMER];
-       int     nm_sent;                /* Request send count */
-       int     nm_cwnd;                /* Request send window */
-       int     nm_timeouts;            /* Request timeouts */
-#endif
        int     nm_deadthresh;          /* Threshold of timeouts-->dead server*/
        int     nm_rsize;               /* Max size of read rpc */
        int     nm_wsize;               /* Max size of write rpc */
@@ -114,17 +79,12 @@ struct     nfsmount {
        struct nfs_rpcops *nm_rpcops;
        int     nm_tprintf_initial_delay;       /* initial delay */
        int     nm_tprintf_delay;               /* interval for messages */
-#ifdef NFS_LEGACYRPC
-       struct nfs_tcp_mountstate nm_nfstcpstate;
-#endif
        char    nm_hostname[MNAMELEN];   /* server's name */
-#ifndef NFS_LEGACYRPC
        int     nm_secflavor;            /* auth flavor to use for rpc */
        struct __rpc_client *nm_client;
        struct rpc_timers nm_timers[NFS_MAX_TIMER]; /* RTT Timers for rpcs */
        char    nm_principal[MNAMELEN]; /* GSS-API principal of server */
        gss_OID nm_mech_oid;            /* OID of selected GSS-API mechanism */
-#endif
 
        /* NFSv4 */
        uint64_t nm_clientid;

Modified: head/sys/nfsserver/nfs.h
==============================================================================
--- head/sys/nfsserver/nfs.h    Tue Jun 30 18:52:36 2009        (r195201)
+++ head/sys/nfsserver/nfs.h    Tue Jun 30 19:03:27 2009        (r195202)
@@ -176,82 +176,10 @@ extern int32_t (*nfsrv3_procs[NFS_NPROCS
 #define        NWDELAYHASH(sock, f) \
        (&(sock)->ns_wdelayhashtbl[(*((u_int32_t *)(f))) % NFS_WDELAYHASHSIZ])
 
-#ifdef NFS_LEGACYRPC
-/*
- * Network address hash list element
- */
-union nethostaddr {
-       u_int32_t had_inetaddr;
-       struct sockaddr *had_nam;
-};
-
-struct nfsrv_rec {
-       STAILQ_ENTRY(nfsrv_rec) nr_link;
-       struct sockaddr *nr_address;
-       struct mbuf     *nr_packet;
-};
-
-struct nfssvc_sock {
-       TAILQ_ENTRY(nfssvc_sock) ns_chain;      /* List of all nfssvc_sock's */
-       struct file     *ns_fp;
-       struct socket   *ns_so;
-       struct sockaddr *ns_nam;
-       struct mbuf     *ns_raw;
-       struct mbuf     *ns_rawend;
-       STAILQ_HEAD(, nfsrv_rec) ns_rec;
-       struct mbuf     *ns_frag;
-       int             ns_flag;
-       int             ns_solock;
-       int             ns_cc;
-       int             ns_reclen;
-       u_int32_t       ns_sref;
-       LIST_HEAD(, nfsrv_descript) ns_tq;      /* Write gather lists */
-       LIST_HEAD(nfsrvw_delayhash, nfsrv_descript) 
ns_wdelayhashtbl[NFS_WDELAYHASHSIZ];
-};
-
-/* Bits for "ns_flag" */
-#define        SLP_VALID       0x01            /* Socket valid for use (XXX) */
-#define        SLP_DOREC       0x02            /* Socket ready for processing 
*/
-#define        SLP_NEEDQ       0x04            /* Socket has request queued */
-#define        SLP_DISCONN     0x08            /* Error received from stream 
socket */
-#define        SLP_GETSTREAM   0x10            /* nfsrv_getstream in prog on 
sock */
-#define        SLP_LASTFRAG    0x20            /* Socket received 
end-of-record */
-#define SLP_ALLFLAGS   0xff
-
-extern TAILQ_HEAD(nfssvc_sockhead, nfssvc_sock) nfssvc_sockhead;
-extern int nfssvc_sockhead_flag;
-#define        SLP_INIT        0x01
-#define        SLP_WANTINIT    0x02
-
-/*
- * One of these structures is allocated for each nfsd.
- */
-struct nfsd {
-       TAILQ_ENTRY(nfsd) nfsd_chain;   /* List of all nfsd's */
-       int             nfsd_flag;      /* NFSD_ flags */
-       struct nfssvc_sock *nfsd_slp;   /* Current socket */
-       int             nfsd_authlen;   /* Authenticator len */
-       u_char          nfsd_authstr[RPCAUTH_MAXSIZ]; /* Authenticator data */
-       int             nfsd_verflen;   /* and the Verifier */
-       u_char          nfsd_verfstr[RPCVERF_MAXSIZ];
-       struct nfsrv_descript *nfsd_nd; /* Associated nfsrv_descript */
-};
-
-/* Bits for "nfsd_flag" */
-#define        NFSD_WAITING    0x01
-#define        NFSD_REQINPROG  0x02
-
 /*
  * This structure is used by the server for describing each request.
- * Some fields are used only when write request gathering is performed.
  */
 struct nfsrv_descript {
-       u_quad_t                nd_time;        /* Write deadline (usec) */
-       off_t                   nd_off;         /* Start byte offset */
-       off_t                   nd_eoff;        /* and end byte offset */
-       LIST_ENTRY(nfsrv_descript) nd_hash;     /* Hash list */
-       LIST_ENTRY(nfsrv_descript) nd_tq;       /* and timer list */
-       LIST_HEAD(, nfsrv_descript) nd_coalesce;/* coalesced writes */
        struct mbuf             *nd_mrep;       /* Request mbuf list */
        struct mbuf             *nd_md;         /* Current dissect mbuf */
        struct mbuf             *nd_mreq;       /* Reply mbuf list */
@@ -261,56 +189,15 @@ struct nfsrv_descript {
        u_int32_t               nd_procnum;     /* RPC # */
        int                     nd_stable;      /* storage type */
        int                     nd_flag;        /* nd_flag */
-       int                     nd_len;         /* Length of this write */
        int                     nd_repstat;     /* Reply status */
-       u_int32_t               nd_retxid;      /* Reply xid */
-       struct timeval          nd_starttime;   /* Time RPC initiated */
        fhandle_t               nd_fh;          /* File handle */
        struct ucred            *nd_cr;         /* Credentials */
        int                     nd_credflavor;  /* Security flavor */
 };
 
-#else
-
-/*
- * This structure is used by the server for describing each request.
- */
-struct nfsrv_descript {
-       struct mbuf             *nd_mrep;       /* Request mbuf list */
-       struct mbuf             *nd_md;         /* Current dissect mbuf */
-       struct mbuf             *nd_mreq;       /* Reply mbuf list */
-       struct sockaddr         *nd_nam;        /* and socket addr */
-       struct sockaddr         *nd_nam2;       /* return socket addr */
-       caddr_t                 nd_dpos;        /* Current dissect pos */
-       u_int32_t               nd_procnum;     /* RPC # */
-       int                     nd_stable;      /* storage type */
-       int                     nd_flag;        /* nd_flag */
-       int                     nd_repstat;     /* Reply status */
-       fhandle_t               nd_fh;          /* File handle */
-       struct ucred            *nd_cr;         /* Credentials */
-       int                     nd_credflavor;  /* Security flavor */
-};
-
-#endif
-
 /* Bits for "nd_flag" */
 #define ND_NFSV3       0x08
 
-#ifdef NFS_LEGACYRPC
-
-extern TAILQ_HEAD(nfsd_head, nfsd) nfsd_head;
-extern int nfsd_head_flag;
-#define        NFSD_CHECKSLP   0x01
-
-/*
- * These macros compare nfsrv_descript structures.
- */
-#define NFSW_CONTIG(o, n) \
-               ((o)->nd_eoff >= (n)->nd_off && \
-                !bcmp((caddr_t)&(o)->nd_fh, (caddr_t)&(n)->nd_fh, NFSX_V3FH))
-
-#endif
-
 /*
  * Defines for WebNFS
  */
@@ -353,26 +240,6 @@ extern int nfs_debug;
 
 #endif
 
-#ifdef NFS_LEGACYRPC
-int    netaddr_match(int, union nethostaddr *, struct sockaddr *);
-int    nfs_getreq(struct nfsrv_descript *, struct nfsd *, int);
-int    nfsrv_send(struct socket *, struct sockaddr *, struct mbuf *);
-int    nfsrv_dorec(struct nfssvc_sock *, struct nfsd *,
-           struct nfsrv_descript **);
-int    nfs_slplock(struct nfssvc_sock *, int);
-void   nfs_slpunlock(struct nfssvc_sock *);
-void   nfsrv_initcache(void);
-void   nfsrv_destroycache(void);
-void   nfsrv_timer(void *);
-int    nfsrv_getcache(struct nfsrv_descript *, struct mbuf **);
-void   nfsrv_updatecache(struct nfsrv_descript *, int, struct mbuf *);
-void   nfsrv_cleancache(void);
-int    nfsrv_rcv(struct socket *so, void *arg, int waitflag);
-void   nfsrv_slpderef(struct nfssvc_sock *slp);
-void   nfsrv_wakenfsd(struct nfssvc_sock *slp);
-int    nfsrv_writegather(struct nfsrv_descript **, struct nfssvc_sock *,
-           struct mbuf **);
-#endif
 struct mbuf *nfs_rephead(int, struct nfsrv_descript *, int, struct mbuf **,
            caddr_t *);
 void   nfsm_srvfattr(struct nfsrv_descript *, struct vattr *,

Modified: head/sys/nfsserver/nfs_fha.c
==============================================================================
--- head/sys/nfsserver/nfs_fha.c        Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsserver/nfs_fha.c        Tue Jun 30 19:03:27 2009        
(r195202)
@@ -39,14 +39,11 @@ __FBSDID("$FreeBSD$");
 
 #include <rpc/rpc.h>
 #include <nfs/xdr_subs.h>
-#include <nfs/rpcv2.h>
 #include <nfs/nfsproto.h>
 #include <nfsserver/nfs.h>
 #include <nfsserver/nfsm_subs.h>
 #include <nfsserver/nfs_fha.h>
 
-#ifndef NFS_LEGACYRPC
-
 static MALLOC_DEFINE(M_NFS_FHA, "NFS FHA", "NFS FHA");
 
 /* Sysctl defaults. */
@@ -598,5 +595,3 @@ fhe_stats_sysctl(SYSCTL_HANDLER_ARGS)
        sbuf_delete(&sb);
        return (error);
 }
-
-#endif /* !NFS_LEGACYRPC */

Modified: head/sys/nfsserver/nfs_serv.c
==============================================================================
--- head/sys/nfsserver/nfs_serv.c       Tue Jun 30 18:52:36 2009        
(r195201)
+++ head/sys/nfsserver/nfs_serv.c       Tue Jun 30 19:03:27 2009        
(r195202)
@@ -93,7 +93,6 @@ __FBSDID("$FreeBSD$");
 #include <vm/vm_object.h>
 
 #include <nfs/nfsproto.h>
-#include <nfs/rpcv2.h>
 #include <nfsserver/nfs.h>
 #include <nfs/xdr_subs.h>
 #include <nfsserver/nfsm_subs.h>
@@ -142,10 +141,6 @@ SYSCTL_STRUCT(_vfs_nfsrv, NFS_NFSRVSTATS
 
 static int     nfsrv_access(struct vnode *, accmode_t, struct ucred *,
                    int, int);
-#ifdef NFS_LEGACYRPC
-static void    nfsrvw_coalesce(struct nfsrv_descript *,
-                   struct nfsrv_descript *);
-#endif
 
 /*
  * Clear nameidata fields that are tested in nsfmout cleanup code prior
@@ -1229,425 +1224,6 @@ nfsmout:
        return(error);
 }
 
-#ifdef NFS_LEGACYRPC
-
-/*
- * XXX dfr - write gathering isn't supported by the new RPC code since
- * its really only useful for NFSv2. If there is a real need, we could
- * attempt to fit it into the filehandle affinity system, e.g. by
- * looking to see if there are queued write requests that overlap this
- * one.
- */
-
-/*
- * For the purposes of write gathering, we must decide if the credential
- * associated with two pending requests have equivilent privileges.  Since
- * NFS only uses a subset of the BSD ucred -- the effective uid and group
- * IDs -- we have a compare routine that checks only the relevant fields.
- */
-static int
-nfsrv_samecred(struct ucred *cr1, struct ucred *cr2)
-{
-       int i;
-
-       if (cr1->cr_uid != cr2->cr_uid)
-               return (0);
-       if (cr1->cr_ngroups != cr2->cr_ngroups)
-               return (0);
-       for (i = 0; i < cr1->cr_ngroups; i++) {
-               if (cr1->cr_groups[i] != cr2->cr_groups[i])
-                       return (0);
-       }
-       return (1);
-}
-
-/*
- * NFS write service with write gathering support. Called when
- * nfsrvw_procrastinate > 0.
- * See: Chet Juszczak, "Improving the Write Performance of an NFS Server",
- * in Proc. of the Winter 1994 Usenix Conference, pg. 247-259, San Franscisco,
- * Jan. 1994.
- */
-int
-nfsrv_writegather(struct nfsrv_descript **ndp, struct nfssvc_sock *slp,
-    struct mbuf **mrq)
-{
-       struct iovec *ivp;
-       struct mbuf *mp;
-       struct nfsrv_descript *wp, *nfsd, *owp, *swp;
-       struct nfs_fattr *fp;
-       int i;
-       struct iovec *iov;
-       struct nfsrvw_delayhash *wpp;
-       struct ucred *cred;
-       struct vattr va, forat;
-       u_int32_t *tl;
-       caddr_t bpos, dpos;
-       int error = 0, rdonly, len, forat_ret = 1;
-       int ioflags, aftat_ret = 1, s, adjust, v3, zeroing;
-       struct mbuf *mb, *mreq, *mrep, *md;
-       struct vnode *vp = NULL;
-       struct uio io, *uiop = &io;
-       u_quad_t cur_usec;
-       struct mount *mntp = NULL;
-       int mvfslocked;
-       int vfslocked;
-
-       nfsdbprintf(("%s %d\n", __FILE__, __LINE__));
-#ifndef nolint
-       i = 0;
-       len = 0;
-#endif
-       vfslocked = 0;
-       *mrq = NULL;
-       if (*ndp) {
-           nfsd = *ndp;
-           *ndp = NULL;
-           mrep = nfsd->nd_mrep;
-           md = nfsd->nd_md;
-           dpos = nfsd->nd_dpos;
-           cred = nfsd->nd_cr;
-           v3 = (nfsd->nd_flag & ND_NFSV3);
-           LIST_INIT(&nfsd->nd_coalesce);
-           nfsd->nd_mreq = NULL;
-           nfsd->nd_stable = NFSV3WRITE_FILESYNC;
-           cur_usec = nfs_curusec();
-           nfsd->nd_time = cur_usec +
-               (v3 ? nfsrvw_procrastinate_v3 : nfsrvw_procrastinate);
-
-           /*
-            * Now, get the write header..
-            */
-           nfsm_srvmtofh(&nfsd->nd_fh);
-           if (v3) {
-               tl = nfsm_dissect_nonblock(u_int32_t *, 5 * NFSX_UNSIGNED);
-               nfsd->nd_off = fxdr_hyper(tl);
-               tl += 3;
-               nfsd->nd_stable = fxdr_unsigned(int, *tl++);
-           } else {
-               tl = nfsm_dissect_nonblock(u_int32_t *, 4 * NFSX_UNSIGNED);
-               nfsd->nd_off = (off_t)fxdr_unsigned(u_int32_t, *++tl);
-               tl += 2;
-               if (nfs_async)
-                       nfsd->nd_stable = NFSV3WRITE_UNSTABLE;
-           }
-           len = fxdr_unsigned(int32_t, *tl);
-           nfsd->nd_len = len;
-           nfsd->nd_eoff = nfsd->nd_off + len;
-
-           /*
-            * Trim the header out of the mbuf list and trim off any trailing
-            * junk so that the mbuf list has only the write data.
-            */
-           zeroing = 1;
-           i = 0;
-           mp = mrep;
-           while (mp) {
-               if (mp == md) {
-                   zeroing = 0;

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to