Deleted Added
full compact
nfs_nfsiod.c (25664) nfs_nfsiod.c (25781)
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
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 $
37 * $Id: nfs_syscalls.c,v 1.23 1997/05/10 16:59:36 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));
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 STAILQ_INIT(&slp->ns_rec);
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;
428 TAILQ_INIT(&slp->ns_uidlruhead);
429 TAILQ_INSERT_TAIL(&nfssvc_sockhead, slp, ns_chain);
430 }
431 slp->ns_so = so;
432 slp->ns_nam = mynam;
433 fp->f_count++;
434 slp->ns_fp = fp;
435 s = splnet();

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

839nfsrv_zapsock(slp)
840 register struct nfssvc_sock *slp;
841{
842 register struct nfsuid *nuidp, *nnuidp;
843 register struct nfsrv_descript *nwp, *nnwp;
844 struct socket *so;
845 struct file *fp;
846 struct mbuf *m;
847 struct nfsrv_rec *rec;
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);
848 int s;
849
850 slp->ns_flag &= ~SLP_ALLFLAGS;
851 fp = slp->ns_fp;
852 if (fp) {
853 slp->ns_fp = (struct file *)0;
854 so = slp->ns_so;
855 so->so_upcall = NULL;
856 soshutdown(so, 2);
857 closef(fp, (struct proc *)0);
858 if (slp->ns_nam)
859 MFREE(slp->ns_nam, m);
860 m_freem(slp->ns_raw);
859 m_freem(slp->ns_rec);
861 while (rec = STAILQ_FIRST(&slp->ns_rec)) {
862 STAILQ_REMOVE_HEAD(&slp->ns_rec, nr_link);
863 if (rec->nr_address)
864 m_freem(rec->nr_address);
865 m_freem(rec->nr_packet);
866 free(rec, M_NFSRVDESC);
867 }
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));
868 for (nuidp = slp->ns_uidlruhead.tqh_first; nuidp != 0;
869 nuidp = nnuidp) {
870 nnuidp = nuidp->nu_lru.tqe_next;
871 LIST_REMOVE(nuidp, nu_hash);
872 TAILQ_REMOVE(&slp->ns_uidlruhead, nuidp, nu_lru);
873 if (nuidp->nu_flag & NU_NAM)
874 m_freem(nuidp->nu_nam);
875 free((caddr_t)nuidp, M_NFSUID);

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

1138 }
1139
1140 TAILQ_INIT(&nfsd_head);
1141 nfsd_head_flag &= ~NFSD_CHECKSLP;
1142
1143 nfs_udpsock = (struct nfssvc_sock *)
1144 malloc(sizeof (struct nfssvc_sock), M_NFSSVC, M_WAITOK);
1145 bzero((caddr_t)nfs_udpsock, sizeof (struct nfssvc_sock));
1146 STAILQ_INIT(&nfs_udpsock->ns_rec);
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));
1147 TAILQ_INIT(&nfs_udpsock->ns_uidlruhead);
1148 TAILQ_INSERT_HEAD(&nfssvc_sockhead, nfs_udpsock, ns_chain);
1149
1150 nfs_cltpsock = (struct nfssvc_sock *)
1151 malloc(sizeof (struct nfssvc_sock), M_NFSSVC, M_WAITOK);
1152 bzero((caddr_t)nfs_cltpsock, sizeof (struct nfssvc_sock));
1153 STAILQ_INIT(&nfs_cltpsock->ns_rec);
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 ---
1154 TAILQ_INIT(&nfs_cltpsock->ns_uidlruhead);
1155 TAILQ_INSERT_TAIL(&nfssvc_sockhead, nfs_cltpsock, ns_chain);
1156}
1157
1158/*
1159 * Add entries to the server monitor log.
1160 */
1161static void

--- 31 unchanged lines hidden ---