diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2009-09-08 19:49:47 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2009-09-08 19:49:47 -0400 |
commit | 4cfd74fc99a41fdc161f243e1c16199656d33ab1 (patch) | |
tree | b92cb5a87dfeb13cc042768351ffda6a64d58713 /fs/nfs/internal.h | |
parent | dbab8360ed8abca38121109feab47c4bea895994 (diff) |
NFS: Mount option parser should detect missing "port="
The meaning of not specifying the "port=" mount option is different
for "-t nfs" and "-t nfs4" mounts. The default port value for
NFSv2/v3 mounts is 0, but the default for NFSv4 mounts is 2049.
To support "-t nfs -o vers=4", the mount option parser must detect
when "port=" is missing so that the correct default port value can be
set depending on which NFS version is requested.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/internal.h')
-rw-r--r-- | fs/nfs/internal.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h index 2e485677019c..5e686a4d744e 100644 --- a/fs/nfs/internal.h +++ b/fs/nfs/internal.h | |||
@@ -49,6 +49,11 @@ struct nfs_clone_mount { | |||
49 | #define NFS_MAX_SECFLAVORS (12) | 49 | #define NFS_MAX_SECFLAVORS (12) |
50 | 50 | ||
51 | /* | 51 | /* |
52 | * Value used if the user did not specify a port value. | ||
53 | */ | ||
54 | #define NFS_UNSPEC_PORT (-1) | ||
55 | |||
56 | /* | ||
52 | * In-kernel mount arguments | 57 | * In-kernel mount arguments |
53 | */ | 58 | */ |
54 | struct nfs_parsed_mount_data { | 59 | struct nfs_parsed_mount_data { |
@@ -71,7 +76,7 @@ struct nfs_parsed_mount_data { | |||
71 | size_t addrlen; | 76 | size_t addrlen; |
72 | char *hostname; | 77 | char *hostname; |
73 | u32 version; | 78 | u32 version; |
74 | unsigned short port; | 79 | int port; |
75 | unsigned short protocol; | 80 | unsigned short protocol; |
76 | } mount_server; | 81 | } mount_server; |
77 | 82 | ||
@@ -80,7 +85,7 @@ struct nfs_parsed_mount_data { | |||
80 | size_t addrlen; | 85 | size_t addrlen; |
81 | char *hostname; | 86 | char *hostname; |
82 | char *export_path; | 87 | char *export_path; |
83 | unsigned short port; | 88 | int port; |
84 | unsigned short protocol; | 89 | unsigned short protocol; |
85 | } nfs_server; | 90 | } nfs_server; |
86 | 91 | ||