summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient/nfsmount.h
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/nfsmount.h
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/nfsmount.h')
-rw-r--r--sys/nfsclient/nfsmount.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/nfsclient/nfsmount.h b/sys/nfsclient/nfsmount.h
index 5064370..7bc593c 100644
--- a/sys/nfsclient/nfsmount.h
+++ b/sys/nfsclient/nfsmount.h
@@ -36,6 +36,14 @@
#ifndef _NFSCLIENT_NFSMOUNT_H_
#define _NFSCLIENT_NFSMOUNT_H_
+struct nfs_tcp_mountstate {
+ int rpcresid;
+#define NFS_TCP_EXPECT_RPCMARKER 0x0001 /* Expect to see a RPC/TCP marker next */
+#define NFS_TCP_FORCE_RECONNECT 0x0002 /* Force a TCP reconnect */
+ int flags;
+ struct mtx mtx;
+};
+
/*
* Mount structure.
* One allocated on every NFS mount.
@@ -79,6 +87,7 @@ struct nfsmount {
struct nfs_rpcops *nm_rpcops;
int nm_tprintf_initial_delay; /* initial delay */
int nm_tprintf_delay; /* interval for messages */
+ struct nfs_tcp_mountstate nm_nfstcpstate;
/* NFSv4 */
uint64_t nm_clientid;
OpenPOWER on IntegriCloud