summaryrefslogtreecommitdiff
path: root/include/linux/sunrpc
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2007-06-07 10:14:14 -0400
committerTrond Myklebust <Trond.Myklebust@netapp.com>2007-07-10 23:40:31 -0400
commit4a8c1344dccb848dbcf0edabc8b5c51a8ecf2808 (patch)
treeecfa69d4bc36aefe86c2528240ef69da723f5bf4 /include/linux/sunrpc
parentc1384c9c4c184543375b52a0997d06cd98145164 (diff)
downloadlinux-3.10-4a8c1344dccb848dbcf0edabc8b5c51a8ecf2808.tar.gz
linux-3.10-4a8c1344dccb848dbcf0edabc8b5c51a8ecf2808.tar.bz2
linux-3.10-4a8c1344dccb848dbcf0edabc8b5c51a8ecf2808.zip
SUNRPC: Add a backpointer from the struct rpc_cred to the rpc_auth
Cleans up an issue whereby rpcsec_gss uses the rpc_clnt->cl_auth. If we want to be able to add several rpc_auths to a single rpc_clnt, then this abuse must go. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r--include/linux/sunrpc/auth.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/sunrpc/auth.h b/include/linux/sunrpc/auth.h
index 534cdc7be58..8ef27afeea7 100644
--- a/include/linux/sunrpc/auth.h
+++ b/include/linux/sunrpc/auth.h
@@ -30,8 +30,11 @@ struct auth_cred {
/*
* Client user credentials
*/
+struct rpc_auth;
+struct rpc_credops;
struct rpc_cred {
struct hlist_node cr_hash; /* hash chain */
+ struct rpc_auth * cr_auth;
struct rpc_credops * cr_ops;
unsigned long cr_expire; /* when to gc */
atomic_t cr_count; /* ref count */
@@ -60,6 +63,7 @@ struct rpc_cred_cache {
unsigned long expire; /* cache expiry interval */
};
+struct rpc_authops;
struct rpc_auth {
unsigned int au_cslack; /* call cred size estimate */
/* guess at number of u32's auth adds before