diff options
author | Weston Andros Adamson <dros@netapp.com> | 2013-10-18 15:15:17 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-10-28 15:37:43 -0400 |
commit | 0f5f49b8b3593309fd3c3a2080a5fd465afdbe16 (patch) | |
tree | ab7fd81174f1399b1b0be00967134a1ab981e55b /fs/nfs | |
parent | a3f73c27afff9590a4432879b7145289cb89cf0a (diff) |
NFS: cache parsed auth_info in nfs_server
Cache the auth_info structure in nfs_server and pass these values to submounts.
This lays the groundwork for supporting multiple sec= options.
Signed-off-by: Weston Andros Adamson <dros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/client.c | 2 | ||||
-rw-r--r-- | fs/nfs/nfs4client.c | 1 | ||||
-rw-r--r-- | fs/nfs/super.c | 3 |
3 files changed, 4 insertions, 2 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c index f5a7f7f9cd59..1d09289c8f0e 100644 --- a/fs/nfs/client.c +++ b/fs/nfs/client.c | |||
@@ -786,6 +786,7 @@ static int nfs_init_server(struct nfs_server *server, | |||
786 | goto error; | 786 | goto error; |
787 | 787 | ||
788 | server->port = data->nfs_server.port; | 788 | server->port = data->nfs_server.port; |
789 | server->auth_info = data->auth_info; | ||
789 | 790 | ||
790 | error = nfs_init_server_rpcclient(server, &timeparms, | 791 | error = nfs_init_server_rpcclient(server, &timeparms, |
791 | data->selected_flavor); | 792 | data->selected_flavor); |
@@ -929,6 +930,7 @@ void nfs_server_copy_userdata(struct nfs_server *target, struct nfs_server *sour | |||
929 | target->acdirmax = source->acdirmax; | 930 | target->acdirmax = source->acdirmax; |
930 | target->caps = source->caps; | 931 | target->caps = source->caps; |
931 | target->options = source->options; | 932 | target->options = source->options; |
933 | target->auth_info = source->auth_info; | ||
932 | } | 934 | } |
933 | EXPORT_SYMBOL_GPL(nfs_server_copy_userdata); | 935 | EXPORT_SYMBOL_GPL(nfs_server_copy_userdata); |
934 | 936 | ||
diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c index d65090e5d00f..04131c837f27 100644 --- a/fs/nfs/nfs4client.c +++ b/fs/nfs/nfs4client.c | |||
@@ -962,6 +962,7 @@ static int nfs4_init_server(struct nfs_server *server, | |||
962 | /* Initialise the client representation from the mount data */ | 962 | /* Initialise the client representation from the mount data */ |
963 | server->flags = data->flags; | 963 | server->flags = data->flags; |
964 | server->options = data->options; | 964 | server->options = data->options; |
965 | server->auth_info = data->auth_info; | ||
965 | 966 | ||
966 | if (data->auth_info.flavor_len >= 1) | 967 | if (data->auth_info.flavor_len >= 1) |
967 | data->selected_flavor = data->auth_info.flavors[0]; | 968 | data->selected_flavor = data->auth_info.flavors[0]; |
diff --git a/fs/nfs/super.c b/fs/nfs/super.c index b87744fb9dcd..de1e5e89c93d 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c | |||
@@ -2187,8 +2187,7 @@ nfs_remount(struct super_block *sb, int *flags, char *raw_data) | |||
2187 | data->wsize = nfss->wsize; | 2187 | data->wsize = nfss->wsize; |
2188 | data->retrans = nfss->client->cl_timeout->to_retries; | 2188 | data->retrans = nfss->client->cl_timeout->to_retries; |
2189 | data->selected_flavor = nfss->client->cl_auth->au_flavor; | 2189 | data->selected_flavor = nfss->client->cl_auth->au_flavor; |
2190 | data->auth_info.flavors[0] = nfss->client->cl_auth->au_flavor; | 2190 | data->auth_info = nfss->auth_info; |
2191 | data->auth_info.flavor_len = 1; | ||
2192 | data->acregmin = nfss->acregmin / HZ; | 2191 | data->acregmin = nfss->acregmin / HZ; |
2193 | data->acregmax = nfss->acregmax / HZ; | 2192 | data->acregmax = nfss->acregmax / HZ; |
2194 | data->acdirmin = nfss->acdirmin / HZ; | 2193 | data->acdirmin = nfss->acdirmin / HZ; |