Whamcloud - gitweb
LU-3963 obdclass: convert to linux list api
[fs/lustre-release.git] / lustre / include / lustre_sec.h
index cd28ed4..f2096f9 100644 (file)
@@ -103,6 +103,7 @@ enum sptlrpc_mech_plain {
 enum sptlrpc_mech_gss {
         SPTLRPC_MECH_GSS_NULL           = 0,
         SPTLRPC_MECH_GSS_KRB5           = 1,
+       SPTLRPC_MECH_GSS_SK             = 2,
         SPTLRPC_MECH_GSS_MAX,
 };
 
@@ -180,6 +181,10 @@ enum sptlrpc_bulk_service {
         MAKE_BASE_SUBFLVR(SPTLRPC_MECH_GSS_KRB5, SPTLRPC_SVC_INTG)
 #define SPTLRPC_SUBFLVR_KRB5P                                           \
         MAKE_BASE_SUBFLVR(SPTLRPC_MECH_GSS_KRB5, SPTLRPC_SVC_PRIV)
+#define SPTLRPC_SUBFLVR_SKI                                             \
+       MAKE_BASE_SUBFLVR(SPTLRPC_MECH_GSS_SK, SPTLRPC_SVC_INTG)
+#define SPTLRPC_SUBFLVR_SKPI                                            \
+       MAKE_BASE_SUBFLVR(SPTLRPC_MECH_GSS_SK, SPTLRPC_SVC_PRIV)
 
 /*
  * "end user" flavors
@@ -226,6 +231,18 @@ enum sptlrpc_bulk_service {
                   SPTLRPC_SVC_PRIV,                     \
                   SPTLRPC_BULK_DEFAULT,                 \
                   SPTLRPC_BULK_SVC_PRIV)
+#define SPTLRPC_FLVR_SKI                                \
+       MAKE_FLVR(SPTLRPC_POLICY_GSS,                   \
+                 SPTLRPC_MECH_GSS_SK,                  \
+                 SPTLRPC_SVC_INTG,                     \
+                 SPTLRPC_BULK_DEFAULT,                 \
+                 SPTLRPC_BULK_SVC_PRIV)
+#define SPTLRPC_FLVR_SKPI                               \
+       MAKE_FLVR(SPTLRPC_POLICY_GSS,                   \
+                 SPTLRPC_MECH_GSS_SK,                  \
+                 SPTLRPC_SVC_PRIV,                     \
+                 SPTLRPC_BULK_DEFAULT,                 \
+                 SPTLRPC_BULK_SVC_PRIV)
 
 #define SPTLRPC_FLVR_DEFAULT            SPTLRPC_FLVR_NULL
 
@@ -514,17 +531,17 @@ struct ptlrpc_ctx_ops {
                                         PTLRPC_CTX_ERROR)
 
 struct ptlrpc_cli_ctx {
-        cfs_hlist_node_t        cc_cache;      /* linked into ctx cache */
-        cfs_atomic_t            cc_refcount;
-        struct ptlrpc_sec      *cc_sec;
-        struct ptlrpc_ctx_ops  *cc_ops;
-        cfs_time_t              cc_expire;     /* in seconds */
-        unsigned int            cc_early_expire:1;
-        unsigned long           cc_flags;
-        struct vfs_cred         cc_vcred;
+       struct hlist_node       cc_cache;       /* linked into ctx cache */
+       atomic_t                cc_refcount;
+       struct ptlrpc_sec      *cc_sec;
+       struct ptlrpc_ctx_ops  *cc_ops;
+       cfs_time_t              cc_expire;      /* in seconds */
+       unsigned int            cc_early_expire:1;
+       unsigned long           cc_flags;
+       struct vfs_cred         cc_vcred;
        spinlock_t              cc_lock;
-        cfs_list_t              cc_req_list;   /* waiting reqs linked here */
-        cfs_list_t              cc_gc_chain;   /* linked to gc chain */
+       struct list_head        cc_req_list;    /* waiting reqs linked here */
+       struct list_head        cc_gc_chain;    /* linked to gc chain */
 };
 
 /**
@@ -825,12 +842,12 @@ struct ptlrpc_sec_policy {
  * \see sptlrpc_import_sec_adapt().
  */
 struct ptlrpc_sec {
-        struct ptlrpc_sec_policy       *ps_policy;
-        cfs_atomic_t                    ps_refcount;
-        /** statistic only */
-        cfs_atomic_t                    ps_nctx;
-        /** unique identifier */
-        int                             ps_id;
+       struct ptlrpc_sec_policy       *ps_policy;
+       atomic_t                        ps_refcount;
+       /** statistic only */
+       atomic_t                        ps_nctx;
+       /** unique identifier */
+       int                             ps_id;
         struct sptlrpc_flavor           ps_flvr;
         enum lustre_sec_part            ps_part;
         /** after set, no more new context will be created */
@@ -839,12 +856,12 @@ struct ptlrpc_sec {
         struct obd_import              *ps_import;
        spinlock_t                      ps_lock;
 
-        /*
-         * garbage collection
-         */
-        cfs_list_t                      ps_gc_list;
-        cfs_time_t                      ps_gc_interval; /* in seconds */
-        cfs_time_t                      ps_gc_next;     /* in seconds */
+       /*
+        * garbage collection
+        */
+       struct list_head                ps_gc_list;
+       cfs_time_t                      ps_gc_interval; /* in seconds */
+       cfs_time_t                      ps_gc_next;     /* in seconds */
 };
 
 static inline int sec_is_reverse(struct ptlrpc_sec *sec)
@@ -859,8 +876,8 @@ static inline int sec_is_rootonly(struct ptlrpc_sec *sec)
 
 
 struct ptlrpc_svc_ctx {
-        cfs_atomic_t                    sc_refcount;
-        struct ptlrpc_sec_policy       *sc_policy;
+       atomic_t                        sc_refcount;
+       struct ptlrpc_sec_policy       *sc_policy;
 };
 
 /*