diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2012-12-08 22:52:39 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2012-12-08 22:52:39 +0000 |
commit | c82d89183db93c8a4a4a1db712fa5464d28ff9a3 (patch) | |
tree | 1d0d5926e781fef2471af6865dd51ab8fbdb8620 /sys/fs/nfsclient/nfsmount.h | |
parent | 98601953890f2c4381eda07f2914bfc1f8b114ec (diff) | |
download | FreeBSD-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.h | 8 |
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 |