]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - include/linux/sunrpc/auth.h
SUNRPC: Make the credential cache hashtable size configurable
[mv-sheeva.git] / include / linux / sunrpc / auth.h
index 996df4dac7d47860731ec76537720289593e1f65..d2737625a24711db6c17db0fb88d295e6e25f156 100644 (file)
@@ -54,19 +54,14 @@ struct rpc_cred {
 #define RPCAUTH_CRED_NEW       0
 #define RPCAUTH_CRED_UPTODATE  1
 #define RPCAUTH_CRED_HASHED    2
+#define RPCAUTH_CRED_NEGATIVE  3
 
 #define RPCAUTH_CRED_MAGIC     0x0f4aa4f0
 
 /*
  * Client authentication handle
  */
-#define RPC_CREDCACHE_HASHBITS 4
-#define RPC_CREDCACHE_NR       (1 << RPC_CREDCACHE_HASHBITS)
-struct rpc_cred_cache {
-       struct hlist_head       hashtable[RPC_CREDCACHE_NR];
-       spinlock_t              lock;
-};
-
+struct rpc_cred_cache;
 struct rpc_authops;
 struct rpc_auth {
        unsigned int            au_cslack;      /* call cred size estimate */
@@ -124,11 +119,12 @@ struct rpc_credops {
 extern const struct rpc_authops        authunix_ops;
 extern const struct rpc_authops        authnull_ops;
 
-void __init            rpc_init_authunix(void);
-void __init            rpc_init_generic_auth(void);
-void __init            rpcauth_init_module(void);
+int __init             rpc_init_authunix(void);
+int __init             rpc_init_generic_auth(void);
+int __init             rpcauth_init_module(void);
 void __exit            rpcauth_remove_module(void);
 void __exit            rpc_destroy_generic_auth(void);
+void                   rpc_destroy_authunix(void);
 
 struct rpc_cred *      rpc_lookup_cred(void);
 struct rpc_cred *      rpc_lookup_machine_cred(void);