summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs_socket.c
diff options
context:
space:
mode:
authorps <ps@FreeBSD.org>2005-02-26 18:55:36 +0000
committerps <ps@FreeBSD.org>2005-02-26 18:55:36 +0000
commitd4a5a3bc89eab8629098bf9f0486e9593f67d1cd (patch)
treecaae6fa32b97dca929cb1473b2739905aa00db8c /sys/nfsclient/nfs_socket.c
parent23f2d2ade46da4c64513b325284f57076d1a23f2 (diff)
downloadFreeBSD-src-d4a5a3bc89eab8629098bf9f0486e9593f67d1cd.zip
FreeBSD-src-d4a5a3bc89eab8629098bf9f0486e9593f67d1cd.tar.gz
Minor cleanup in nfs_request() and removal of a comment that doesn't
reflect reality. Submitted by: Mohan Srinivasan
Diffstat (limited to 'sys/nfsclient/nfs_socket.c')
-rw-r--r--sys/nfsclient/nfs_socket.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/sys/nfsclient/nfs_socket.c b/sys/nfsclient/nfs_socket.c
index 57d58bb..290e8ad 100644
--- a/sys/nfsclient/nfs_socket.c
+++ b/sys/nfsclient/nfs_socket.c
@@ -1052,18 +1052,15 @@ tryagain:
TAILQ_REMOVE(&nfs_reqq, rep, r_chain);
if (TAILQ_EMPTY(&nfs_reqq))
callout_stop(&nfs_callout);
- mtx_unlock(&nfs_reqq_mtx);
- splx(s);
-
/*
* Decrement the outstanding request count.
*/
- mtx_lock(&nfs_reqq_mtx);
if (rep->r_flags & R_SENT) {
rep->r_flags &= ~R_SENT; /* paranoia */
nmp->nm_sent -= NFS_CWNDSCALE;
}
mtx_unlock(&nfs_reqq_mtx);
+ splx(s);
/*
* If there was a successful reply and a tprintf msg.
@@ -1576,12 +1573,6 @@ nfs_sndunlock(struct nfsreq *rep)
* not occur with NFS/UDP and is supposed to only occassionally occur
* with TCP. Use vfs.nfs.realign_count and realign_test to check this.
*
- * XXX - This still looks buggy. If there are multiple mbufs in the mbuf chain
- * passed in that are unaligned, the first loop will allocate multiple new
- * mbufs. But then, it doesn't seem to chain these together. So, if there are
- * multiple unaligned mbufs, we're looking at a pretty serious mbuf leak.
- * But, this has been how it is, perhaps the misalignment only happens in the head
- * of the chain.
*/
static int
nfs_realign(struct mbuf **pm, int hsiz)
OpenPOWER on IntegriCloud