PERFORCE change 43694 for review
Sam Leffler
sam at FreeBSD.org
Tue Dec 9 15:01:26 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=43694
Change 43694 by sam at sam_ebb on 2003/12/09 15:00:21
o remove Giant assertions
o lock snd sockbuf so we can preserve assertions; not necessary
unless we decide to do fine-grained locking of nfs
Affected files ...
.. //depot/projects/netperf+sockets/sys/nfsclient/bootp_subr.c#3 edit
.. //depot/projects/netperf+sockets/sys/nfsclient/krpc_subr.c#3 edit
.. //depot/projects/netperf+sockets/sys/nfsclient/nfs_bio.c#3 edit
.. //depot/projects/netperf+sockets/sys/nfsclient/nfs_socket.c#3 edit
.. //depot/projects/netperf+sockets/sys/nfsclient/nfs_subs.c#3 edit
.. //depot/projects/netperf+sockets/sys/nfsclient/nfs_vfsops.c#4 edit
Differences ...
==== //depot/projects/netperf+sockets/sys/nfsclient/bootp_subr.c#3 (text+ko) ====
@@ -589,8 +589,6 @@
int retry;
const char *s;
- GIANT_REQUIRED; /* XXX until socket locking done */
-
/*
* Create socket and set its recieve timeout.
*/
@@ -981,8 +979,6 @@
struct ifaddr *ifa;
struct sockaddr_dl *sdl;
- GIANT_REQUIRED; /* XXX until socket locking done */
-
error = socreate(AF_INET, &ifctx->so, SOCK_DGRAM, 0, td->td_ucred, td);
if (error != 0)
panic("nfs_boot: socreate, error=%d", error);
==== //depot/projects/netperf+sockets/sys/nfsclient/krpc_subr.c#3 (text+ko) ====
@@ -215,8 +215,6 @@
nam = mhead = NULL;
from = NULL;
- GIANT_REQUIRED; /* XXX until socket locking done */
-
/*
* Create socket and set its recieve timeout.
*/
==== //depot/projects/netperf+sockets/sys/nfsclient/nfs_bio.c#3 (text+ko) ====
==== //depot/projects/netperf+sockets/sys/nfsclient/nfs_socket.c#3 (text+ko) ====
@@ -165,8 +165,6 @@
struct sockaddr *saddr;
struct thread *td = &thread0; /* only used for socreate and sobind */
- GIANT_REQUIRED; /* XXX until socket locking done */
-
nmp->nm_so = NULL;
saddr = nmp->nm_nam;
error = socreate(saddr->sa_family, &nmp->nm_so, nmp->nm_sotype,
@@ -383,8 +381,6 @@
{
struct socket *so;
- GIANT_REQUIRED; /* XXX until socket locking done */
-
if (nmp->nm_so) {
so = nmp->nm_so;
nmp->nm_so = NULL;
@@ -419,8 +415,6 @@
struct sockaddr *sendnam;
int error, soflags, flags;
- GIANT_REQUIRED; /* XXX until socket locking done */
-
KASSERT(rep, ("nfs_send: called with rep == NULL"));
if (rep->r_flags & R_SOFTTERM) {
@@ -494,8 +488,6 @@
int error, sotype, rcvflg;
struct thread *td = curthread; /* XXX */
- GIANT_REQUIRED; /* XXX until socket locking done */
-
/*
* Set up arguments for soreceive()
*/
@@ -1139,6 +1131,7 @@
* Set r_rtt to -1 in case we fail to send it now.
*/
rep->r_rtt = -1;
+ SOCKBUF_LOCK(&so->so_snd);
if (sbspace(&so->so_snd) >= rep->r_mreq->m_pkthdr.len &&
((nmp->nm_flag & NFSMNT_DUMBTIMR) ||
(rep->r_flags & R_SENT) ||
@@ -1174,6 +1167,7 @@
rep->r_rtt = 0;
}
}
+ SOCKBUF_UNLOCK(&so->so_snd);
}
splx(s);
nfs_timer_handle = timeout(nfs_timer, NULL, nfs_ticks);
==== //depot/projects/netperf+sockets/sys/nfsclient/nfs_subs.c#3 (text+ko) ====
==== //depot/projects/netperf+sockets/sys/nfsclient/nfs_vfsops.c#4 (text+ko) ====
@@ -387,8 +387,6 @@
u_long l;
char buf[128];
- GIANT_REQUIRED; /* XXX until socket locking done */
-
#if defined(BOOTP_NFSROOT) && defined(BOOTP)
bootpc_init(); /* use bootp to get nfs_diskless filled in */
#elif defined(NFS_ROOT)
More information about the p4-projects
mailing list