summaryrefslogtreecommitdiffstats
path: root/sys/fs/nfsclient/nfsmount.h
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2012-12-08 22:52:39 +0000
committerrmacklem <rmacklem@FreeBSD.org>2012-12-08 22:52:39 +0000
commitc82d89183db93c8a4a4a1db712fa5464d28ff9a3 (patch)
tree1d0d5926e781fef2471af6865dd51ab8fbdb8620 /sys/fs/nfsclient/nfsmount.h
parent98601953890f2c4381eda07f2914bfc1f8b114ec (diff)
downloadFreeBSD-src-c82d89183db93c8a4a4a1db712fa5464d28ff9a3.zip
FreeBSD-src-c82d89183db93c8a4a4a1db712fa5464d28ff9a3.tar.gz
Move the NFSv4.1 client patches over from projects/nfsv4.1-client
to head. I don't think the NFS client behaviour will change unless the new "minorversion=1" mount option is used. It includes basic NFSv4.1 support plus support for pNFS using the Files Layout only. All problems detecting during an NFSv4.1 Bakeathon testing event in June 2012 have been resolved in this code and it has been tested against the NFSv4.1 server available to me. Although not reviewed, I believe that kib@ has looked at it.
Diffstat (limited to 'sys/fs/nfsclient/nfsmount.h')
-rw-r--r--sys/fs/nfsclient/nfsmount.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/fs/nfsclient/nfsmount.h b/sys/fs/nfsclient/nfsmount.h
index 8068c28..f5b56bf 100644
--- a/sys/fs/nfsclient/nfsmount.h
+++ b/sys/fs/nfsclient/nfsmount.h
@@ -70,10 +70,12 @@ struct nfsmount {
int nm_negnametimeo; /* timeout for -ve entries (sec) */
/* Newnfs additions */
+ TAILQ_HEAD(, nfsclds) nm_sess; /* Session(s) for NFSv4.1. */
struct nfsclclient *nm_clp;
uid_t nm_uid; /* Uid for SetClientID etc. */
u_int64_t nm_clval; /* identifies which clientid */
u_int64_t nm_fsid[2]; /* NFSv4 fsid */
+ int nm_minorvers; /* Minor version # for NFSv4 */
u_int16_t nm_krbnamelen; /* Krb5 host principal, if any */
u_int16_t nm_dirpathlen; /* and mount dirpath, for V4 */
u_int16_t nm_srvkrbnamelen; /* and the server's target name */
@@ -107,6 +109,12 @@ struct nfsmount {
*/
#define VFSTONFS(mp) ((struct nfsmount *)((mp)->mnt_data))
+/*
+ * Get a pointer to the MDS session, which is always the first element
+ * in the list.
+ */
+#define NFSMNT_MDSSESSION(m) (&(TAILQ_FIRST(&((m)->nm_sess))->nfsclds_sess))
+
#ifndef NFS_DEFAULT_NAMETIMEO
#define NFS_DEFAULT_NAMETIMEO 60
#endif
OpenPOWER on IntegriCloud