diff options
author | Benny Halevy <bhalevy@panasas.com> | 2009-04-01 09:21:49 -0400 |
---|---|---|
committer | Benny Halevy <bhalevy@panasas.com> | 2009-06-17 13:46:16 -0400 |
commit | 94a417f3d7a02478a2d7842e693a61339fb54ea4 (patch) | |
tree | c7e64771efb434b24416da3a255730eb19475a0b | |
parent | 3fd5be9e19921a89d9ed78d6a708a379a6c3c76a (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.c | 9 | ||||
-rw-r--r-- | include/linux/nfs_fs_sb.h | 3 |
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 */ |