Deleted Added
sdiff udiff text old ( 25664 ) new ( 25781 )
full compact
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_syscalls.c 8.5 (Berkeley) 3/30/95
37 * $Id: nfs_syscalls.c,v 1.22 1997/04/30 09:51:37 dfr Exp $
38 */
39
40#include <sys/param.h>
41#include <sys/systm.h>
42#include <sys/sysproto.h>
43#include <sys/kernel.h>
44#include <sys/sysctl.h>
45#include <sys/file.h>

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

419 so->so_snd.sb_flags &= ~SB_NOINTR;
420 so->so_snd.sb_timeo = 0;
421 if (tslp)
422 slp = tslp;
423 else {
424 slp = (struct nfssvc_sock *)
425 malloc(sizeof (struct nfssvc_sock), M_NFSSVC, M_WAITOK);
426 bzero((caddr_t)slp, sizeof (struct nfssvc_sock));
427 TAILQ_INIT(&slp->ns_uidlruhead);
428 TAILQ_INSERT_TAIL(&nfssvc_sockhead, slp, ns_chain);
429 }
430 slp->ns_so = so;
431 slp->ns_nam = mynam;
432 fp->f_count++;
433 slp->ns_fp = fp;
434 s = splnet();

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

838nfsrv_zapsock(slp)
839 register struct nfssvc_sock *slp;
840{
841 register struct nfsuid *nuidp, *nnuidp;
842 register struct nfsrv_descript *nwp, *nnwp;
843 struct socket *so;
844 struct file *fp;
845 struct mbuf *m;
846 int s;
847
848 slp->ns_flag &= ~SLP_ALLFLAGS;
849 fp = slp->ns_fp;
850 if (fp) {
851 slp->ns_fp = (struct file *)0;
852 so = slp->ns_so;
853 so->so_upcall = NULL;
854 soshutdown(so, 2);
855 closef(fp, (struct proc *)0);
856 if (slp->ns_nam)
857 MFREE(slp->ns_nam, m);
858 m_freem(slp->ns_raw);
859 m_freem(slp->ns_rec);
860 for (nuidp = slp->ns_uidlruhead.tqh_first; nuidp != 0;
861 nuidp = nnuidp) {
862 nnuidp = nuidp->nu_lru.tqe_next;
863 LIST_REMOVE(nuidp, nu_hash);
864 TAILQ_REMOVE(&slp->ns_uidlruhead, nuidp, nu_lru);
865 if (nuidp->nu_flag & NU_NAM)
866 m_freem(nuidp->nu_nam);
867 free((caddr_t)nuidp, M_NFSUID);

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

1130 }
1131
1132 TAILQ_INIT(&nfsd_head);
1133 nfsd_head_flag &= ~NFSD_CHECKSLP;
1134
1135 nfs_udpsock = (struct nfssvc_sock *)
1136 malloc(sizeof (struct nfssvc_sock), M_NFSSVC, M_WAITOK);
1137 bzero((caddr_t)nfs_udpsock, sizeof (struct nfssvc_sock));
1138 TAILQ_INIT(&nfs_udpsock->ns_uidlruhead);
1139 TAILQ_INSERT_HEAD(&nfssvc_sockhead, nfs_udpsock, ns_chain);
1140
1141 nfs_cltpsock = (struct nfssvc_sock *)
1142 malloc(sizeof (struct nfssvc_sock), M_NFSSVC, M_WAITOK);
1143 bzero((caddr_t)nfs_cltpsock, sizeof (struct nfssvc_sock));
1144 TAILQ_INIT(&nfs_cltpsock->ns_uidlruhead);
1145 TAILQ_INSERT_TAIL(&nfssvc_sockhead, nfs_cltpsock, ns_chain);
1146}
1147
1148/*
1149 * Add entries to the server monitor log.
1150 */
1151static void

--- 31 unchanged lines hidden ---