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>
This commit is contained in:
Benny Halevy 2009-04-01 09:21:49 -04:00
parent 3fd5be9e19
commit 94a417f3d7
2 changed files with 8 additions and 4 deletions

View file

@ -1101,7 +1101,8 @@ static int nfs4_set_client(struct nfs_server *server,
const size_t addrlen, const size_t addrlen,
const char *ip_addr, const char *ip_addr,
rpc_authflavor_t authflavour, rpc_authflavor_t authflavour,
int proto, const struct rpc_timeout *timeparms) int proto, const struct rpc_timeout *timeparms,
u32 minorversion)
{ {
struct nfs_client_initdata cl_init = { struct nfs_client_initdata cl_init = {
.hostname = hostname, .hostname = hostname,
@ -1164,7 +1165,8 @@ static int nfs4_init_server(struct nfs_server *server,
data->client_address, data->client_address,
data->auth_flavors[0], data->auth_flavors[0],
data->nfs_server.protocol, data->nfs_server.protocol,
&timeparms); &timeparms,
data->minorversion);
if (error < 0) if (error < 0)
goto error; goto error;
@ -1282,7 +1284,8 @@ struct nfs_server *nfs4_create_referral_server(struct nfs_clone_mount *data,
parent_client->cl_ipaddr, parent_client->cl_ipaddr,
data->authflavor, data->authflavor,
parent_server->client->cl_xprt->prot, parent_server->client->cl_xprt->prot,
parent_server->client->cl_timeout); parent_server->client->cl_timeout,
parent_client->cl_minorversion);
if (error < 0) if (error < 0)
goto error; goto error;

View file

@ -32,6 +32,7 @@ struct nfs_client {
const struct nfs_rpc_ops *rpc_ops; /* NFS protocol vector */ const struct nfs_rpc_ops *rpc_ops; /* NFS protocol vector */
int cl_proto; /* Network transport protocol */ int cl_proto; /* Network transport protocol */
u32 cl_minorversion;/* NFSv4 minorversion */
struct rpc_cred *cl_machine_cred; struct rpc_cred *cl_machine_cred;
#ifdef CONFIG_NFS_V4 #ifdef CONFIG_NFS_V4
@ -63,7 +64,7 @@ struct nfs_client {
*/ */
char cl_ipaddr[48]; char cl_ipaddr[48];
unsigned char cl_id_uniquifier; unsigned char cl_id_uniquifier;
#endif #endif /* CONFIG_NFS_V4 */
#ifdef CONFIG_NFS_FSCACHE #ifdef CONFIG_NFS_FSCACHE
struct fscache_cookie *fscache; /* client index cache cookie */ struct fscache_cookie *fscache; /* client index cache cookie */