aboutsummaryrefslogtreecommitdiff
path: root/sys/nfsclient/nfsmount.h
diff options
context:
space:
mode:
authorDoug Rabson <dfr@FreeBSD.org>1995-06-27 11:07:30 +0000
committerDoug Rabson <dfr@FreeBSD.org>1995-06-27 11:07:30 +0000
commita62dc4065454b3af8bde3af9f005db2c4d802fec (patch)
tree372bad41f8c547f40d0826ed596c53dc772ab986 /sys/nfsclient/nfsmount.h
parent82aaeb09ad6963c8e01e332d734ea0a69b66ed2e (diff)
downloadsrc-a62dc4065454b3af8bde3af9f005db2c4d802fec.tar.gz
src-a62dc4065454b3af8bde3af9f005db2c4d802fec.zip
Changes to support version 3 of the NFS protocol.
The version 2 support has been tested (client+server) against FreeBSD-2.0, IRIX 5.3 and FreeBSD-current (using a loopback mount). The version 2 support is stable AFAIK. The version 3 support has been tested with a loopback mount and minimally against an IRIX 5.3 server. It needs more testing and may have problems. I have patched amd to support the new variable length filehandles although it will still only use version 2 of the protocol. Before booting a kernel with these changes, nfs clients will need to at least build and install /usr/sbin/mount_nfs. Servers will need to build and install /usr/sbin/mountd. NFS diskless support is untested. Obtained from: Rick Macklem <rick@snowhite.cis.uoguelph.ca>
Notes
Notes: svn path=/head/; revision=9336
Diffstat (limited to 'sys/nfsclient/nfsmount.h')
-rw-r--r--sys/nfsclient/nfsmount.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/sys/nfsclient/nfsmount.h b/sys/nfsclient/nfsmount.h
index 99a1b48795f4..6ac33f778c82 100644
--- a/sys/nfsclient/nfsmount.h
+++ b/sys/nfsclient/nfsmount.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfsmount.h 8.1 (Berkeley) 6/10/93
- * $Id: nfsmount.h,v 1.3 1994/08/21 06:50:10 paul Exp $
+ * $Id: nfsmount.h,v 1.4 1994/10/17 17:47:43 phk Exp $
*/
#ifndef _NFS_NFSMOUNT_H_
@@ -49,7 +49,8 @@ struct nfsmount {
int nm_flag; /* Flags for soft/hard... */
struct mount *nm_mountp; /* Vfs structure for this filesystem */
int nm_numgrps; /* Max. size of groupslist */
- nfsv2fh_t nm_fh; /* File handle of root dir */
+ u_char nm_fh[NFSX_V3FHMAX]; /* File handle of root dir */
+ int nm_fhsize; /* Size of root file handle */
struct socket *nm_so; /* Rpc socket */
int nm_sotype; /* Type of socket */
int nm_soproto; /* and protocol */
@@ -65,6 +66,7 @@ struct nfsmount {
int nm_deadthresh; /* Threshold of timeouts-->dead server*/
int nm_rsize; /* Max size of read rpc */
int nm_wsize; /* Max size of write rpc */
+ int nm_readdirsize; /* Size of a readdir rpc */
int nm_readahead; /* Num. of blocks to readahead */
int nm_leaseterm; /* Term (sec) for NQNFS lease */
CIRCLEQ_HEAD(, nfsnode) nm_timerhead; /* Head of lease timer queue */
@@ -73,9 +75,16 @@ struct nfsmount {
int nm_authtype; /* Authenticator type */
int nm_authlen; /* and length */
char *nm_authstr; /* Authenticator string */
+ char *nm_verfstr; /* and the verifier */
+ int nm_verflen;
+ u_char nm_verf[NFSX_V3WRITEVERF]; /* V3 write verifier */
+ NFSKERBKEY_T nm_key; /* and the session key */
+ int nm_numuids; /* Number of nfsuid mappings */
+ TAILQ_HEAD(, nfsuid) nm_uidlruhead; /* Lists of nfsuid mappings */
+ LIST_HEAD(, nfsuid) nm_uidhashtbl[NFS_MUIDHASHSIZ];
};
-#ifdef KERNEL
+#if defined(KERNEL) || defined(_KERNEL)
/*
* Convert mount ptr to nfsmount ptr.
*/