aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenny Halevy <bhalevy@panasas.com>2009-04-01 09:21:49 -0400
committerBenny Halevy <bhalevy@panasas.com>2009-06-17 13:46:16 -0400
commit94a417f3d7a02478a2d7842e693a61339fb54ea4 (patch)
treec7e64771efb434b24416da3a255730eb19475a0b
parent3fd5be9e19921a89d9ed78d6a708a379a6c3c76a (diff)
nfs41: nfs_client.cl_minorversion
This field is set to the nfsv4 minor version for this mount. Signed-off-by: Benny Halevy <bhalevy@panasas.com> Note: This patch sets the referral to the same minorversion as the current mount. Revisit in future patch. Signed-off-by: Andy Adamson <andros@netapp.com> [removed cl_minorversion assignment in nfs_set_client] Signed-off-by: Benny Halevy <bhalevy@panasas.com> [always define nfs_client.cl_minorversion] Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
-rw-r--r--fs/nfs/client.c9
-rw-r--r--include/linux/nfs_fs_sb.h3
2 files changed, 8 insertions, 4 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 75c9cd2aa119..0efcb55c2caa 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -1101,7 +1101,8 @@ static int nfs4_set_client(struct nfs_server *server,
1101 const size_t addrlen, 1101 const size_t addrlen,
1102 const char *ip_addr, 1102 const char *ip_addr,
1103 rpc_authflavor_t authflavour, 1103 rpc_authflavor_t authflavour,
1104 int proto, const struct rpc_timeout *timeparms) 1104 int proto, const struct rpc_timeout *timeparms,
1105 u32 minorversion)
1105{ 1106{
1106 struct nfs_client_initdata cl_init = { 1107 struct nfs_client_initdata cl_init = {
1107 .hostname = hostname, 1108 .hostname = hostname,
@@ -1164,7 +1165,8 @@ static int nfs4_init_server(struct nfs_server *server,
1164 data->client_address, 1165 data->client_address,
1165 data->auth_flavors[0], 1166 data->auth_flavors[0],
1166 data->nfs_server.protocol, 1167 data->nfs_server.protocol,
1167 &timeparms); 1168 &timeparms,
1169 data->minorversion);
1168 if (error < 0) 1170 if (error < 0)
1169 goto error; 1171 goto error;
1170 1172
@@ -1282,7 +1284,8 @@ struct nfs_server *nfs4_create_referral_server(struct nfs_clone_mount *data,
1282 parent_client->cl_ipaddr, 1284 parent_client->cl_ipaddr,
1283 data->authflavor, 1285 data->authflavor,
1284 parent_server->client->cl_xprt->prot, 1286 parent_server->client->cl_xprt->prot,
1285 parent_server->client->cl_timeout); 1287 parent_server->client->cl_timeout,
1288 parent_client->cl_minorversion);
1286 if (error < 0) 1289 if (error < 0)
1287 goto error; 1290 goto error;
1288 1291
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h
index 6ad75948cbf7..e9a51fe46aa3 100644
--- a/include/linux/nfs_fs_sb.h
+++ b/include/linux/nfs_fs_sb.h
@@ -32,6 +32,7 @@ struct nfs_client {
32 const struct nfs_rpc_ops *rpc_ops; /* NFS protocol vector */ 32 const struct nfs_rpc_ops *rpc_ops; /* NFS protocol vector */
33 int cl_proto; /* Network transport protocol */ 33 int cl_proto; /* Network transport protocol */
34 34
35 u32 cl_minorversion;/* NFSv4 minorversion */
35 struct rpc_cred *cl_machine_cred; 36 struct rpc_cred *cl_machine_cred;
36 37
37#ifdef CONFIG_NFS_V4 38#ifdef CONFIG_NFS_V4
@@ -63,7 +64,7 @@ struct nfs_client {
63 */ 64 */
64 char cl_ipaddr[48]; 65 char cl_ipaddr[48];
65 unsigned char cl_id_uniquifier; 66 unsigned char cl_id_uniquifier;
66#endif 67#endif /* CONFIG_NFS_V4 */
67 68
68#ifdef CONFIG_NFS_FSCACHE 69#ifdef CONFIG_NFS_FSCACHE
69 struct fscache_cookie *fscache; /* client index cache cookie */ 70 struct fscache_cookie *fscache; /* client index cache cookie */