summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfs_subs.c
diff options
context:
space:
mode:
authorps <ps@FreeBSD.org>2004-12-06 21:11:15 +0000
committerps <ps@FreeBSD.org>2004-12-06 21:11:15 +0000
commiteeccf3813d92c16c33f1985fb7edf26c7c20c808 (patch)
tree83e874ad8aa3b9b3120558628b84b3010046974d /sys/nfsclient/nfs_subs.c
parent2b5157cd0d38228760370d2fcb197f915ce3b93d (diff)
downloadFreeBSD-src-eeccf3813d92c16c33f1985fb7edf26c7c20c808.zip
FreeBSD-src-eeccf3813d92c16c33f1985fb7edf26c7c20c808.tar.gz
Rewrite of the NFS client's reply handling. We now have NFS socket
upcalls which do RPC header parsing and match up the reply with the request. NFS calls now sleep on the nfsreq structure. This enables us to eliminate the NFS recvlock. Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com
Diffstat (limited to 'sys/nfsclient/nfs_subs.c')
-rw-r--r--sys/nfsclient/nfs_subs.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c
index 8668a99..9552f95 100644
--- a/sys/nfsclient/nfs_subs.c
+++ b/sys/nfsclient/nfs_subs.c
@@ -94,6 +94,8 @@ int nfs_ticks;
int nfs_pbuf_freecnt = -1; /* start out unlimited */
struct nfs_reqq nfs_reqq;
+struct mtx nfs_reqq_mtx;
+struct mtx nfs_reply_mtx;
struct nfs_bufq nfs_bufq;
/*
@@ -412,6 +414,8 @@ nfs_init(struct vfsconf *vfsp)
*/
TAILQ_INIT(&nfs_reqq);
callout_init(&nfs_callout, 0);
+ mtx_init(&nfs_reqq_mtx, "NFS reqq lock", NULL, MTX_DEF);
+ mtx_init(&nfs_reply_mtx, "Synch NFS reply posting", NULL, MTX_DEF);
nfs_pbuf_freecnt = nswbuf / 2 + 1;
OpenPOWER on IntegriCloud