};
enum ptlrpc_gss_header_flags {
- LUSTRE_GSS_PACK_BULK = 1,
- LUSTRE_GSS_PACK_USER = 2,
+ LUSTRE_GSS_PACK_BULK = 1,
+ LUSTRE_GSS_PACK_USER = 2,
+ LUSTRE_GSS_PACK_KCSUM = 4,
};
static inline
};
struct gss_cli_ctx_keyring {
- struct gss_cli_ctx gck_base;
- struct key *gck_key;
- struct timer_list *gck_timer;
+ struct gss_cli_ctx gck_base;
+ struct key *gck_key;
+ struct timer_list gck_timer;
};
struct gss_sec {
return container_of(sec2gsec(sec), struct gss_sec_keyring, gsk_base);
}
+#ifdef HAVE_CACHE_HASH_SPINLOCK
+# define sunrpc_cache_lookup(c, i, h) sunrpc_cache_lookup_rcu((c), (i), (h))
+# define cache_read_lock(cdetail) spin_lock(&((cdetail)->hash_lock))
+# define cache_read_unlock(cdetail) spin_unlock(&((cdetail)->hash_lock))
+#else /* ! HAVE_CACHE_HASH_SPINLOCK */
+# define cache_read_lock(cdetail) read_lock(&((cdetail)->hash_lock))
+# define cache_read_unlock(cdetail) read_unlock(&((cdetail)->hash_lock))
+#endif
#define GSS_CTX_INIT_MAX_LEN (1024)
int __init gss_init_svc_upcall(void);
void gss_exit_svc_upcall(void);
+extern unsigned int krb5_allow_old_client_csum;
/* lproc_gss.c */
void gss_stat_oos_record_cli(int behind);
void gss_stat_oos_record_svc(int phase, int replay);
-int __init gss_init_lproc(void);
-void gss_exit_lproc(void);
+int __init gss_init_tunables(void);
+void gss_exit_tunables(void);
/* gss_null_mech.c */
int __init init_null_module(void);