Whamcloud - gitweb
LU-1346 libcfs: replace libcfs wrappers with kernel API
[fs/lustre-release.git] / lustre / obdclass / capa.c
index 539910c..35318de 100644 (file)
@@ -65,7 +65,7 @@ cfs_mem_cache_t *capa_cachep = NULL;
 
 #ifdef __KERNEL__
 /* lock for capa hash/capa_list/fo_capa_keys */
-cfs_spinlock_t capa_lock = CFS_SPIN_LOCK_UNLOCKED;
+DEFINE_SPINLOCK(capa_lock);
 
 cfs_list_t capa_list[CAPA_SITE_MAX];
 
@@ -97,6 +97,7 @@ cfs_hlist_head_t *init_capa_hash(void)
                 CFS_INIT_HLIST_HEAD(hash + i);
         return hash;
 }
+EXPORT_SYMBOL(init_capa_hash);
 
 #ifdef __KERNEL__
 static inline int capa_on_server(struct obd_capa *ocapa)
@@ -116,20 +117,21 @@ static inline void capa_delete(struct obd_capa *ocapa)
 
 void cleanup_capa_hash(cfs_hlist_head_t *hash)
 {
-        int i;
-        cfs_hlist_node_t *pos, *next;
-        struct obd_capa *oc;
-
-        cfs_spin_lock(&capa_lock);
-        for (i = 0; i < NR_CAPAHASH; i++) {
-                cfs_hlist_for_each_entry_safe(oc, pos, next, hash + i,
-                                              u.tgt.c_hash)
-                        capa_delete(oc);
-        }
-        cfs_spin_unlock(&capa_lock);
+       int i;
+       cfs_hlist_node_t *pos, *next;
+       struct obd_capa *oc;
+
+       spin_lock(&capa_lock);
+       for (i = 0; i < NR_CAPAHASH; i++) {
+               cfs_hlist_for_each_entry_safe(oc, pos, next, hash + i,
+                                             u.tgt.c_hash)
+                       capa_delete(oc);
+       }
+       spin_unlock(&capa_lock);
 
-        OBD_FREE(hash, CFS_PAGE_SIZE);
+       OBD_FREE(hash, CFS_PAGE_SIZE);
 }
+EXPORT_SYMBOL(cleanup_capa_hash);
 
 static inline int capa_hashfn(struct lu_fid *fid)
 {
@@ -199,7 +201,7 @@ struct obd_capa *capa_add(cfs_hlist_head_t *hash, struct lustre_capa *capa)
         if (IS_ERR(ocapa))
                 return NULL;
 
-        cfs_spin_lock(&capa_lock);
+       spin_lock(&capa_lock);
         old = find_capa(capa, head, 0);
         if (!old) {
                 ocapa->c_capa = *capa;
@@ -210,32 +212,34 @@ struct obd_capa *capa_add(cfs_hlist_head_t *hash, struct lustre_capa *capa)
                 capa_count[CAPA_SITE_SERVER]++;
                 if (capa_count[CAPA_SITE_SERVER] > CAPA_HASH_SIZE)
                         capa_delete_lru(list);
-                cfs_spin_unlock(&capa_lock);
-                return ocapa;
-        } else {
-                capa_get(old);
-                cfs_spin_unlock(&capa_lock);
-                capa_put(ocapa);
-                return old;
-        }
+               spin_unlock(&capa_lock);
+               return ocapa;
+       } else {
+               capa_get(old);
+               spin_unlock(&capa_lock);
+               capa_put(ocapa);
+               return old;
+       }
 }
+EXPORT_SYMBOL(capa_add);
 
 struct obd_capa *capa_lookup(cfs_hlist_head_t *hash, struct lustre_capa *capa,
-                             int alive)
+                            int alive)
 {
-        struct obd_capa *ocapa;
-
-        cfs_spin_lock(&capa_lock);
-        ocapa = find_capa(capa, hash + capa_hashfn(&capa->lc_fid), alive);
-        if (ocapa) {
-                cfs_list_move_tail(&ocapa->c_list,
-                                   &capa_list[CAPA_SITE_SERVER]);
-                capa_get(ocapa);
-        }
-        cfs_spin_unlock(&capa_lock);
+       struct obd_capa *ocapa;
+
+       spin_lock(&capa_lock);
+       ocapa = find_capa(capa, hash + capa_hashfn(&capa->lc_fid), alive);
+       if (ocapa) {
+               cfs_list_move_tail(&ocapa->c_list,
+                                  &capa_list[CAPA_SITE_SERVER]);
+               capa_get(ocapa);
+       }
+       spin_unlock(&capa_lock);
 
-        return ocapa;
+       return ocapa;
 }
+EXPORT_SYMBOL(capa_lookup);
 
 int capa_hmac(__u8 *hmac, struct lustre_capa *capa, __u8 *key)
 {
@@ -268,6 +272,7 @@ int capa_hmac(__u8 *hmac, struct lustre_capa *capa, __u8 *key)
 
         return 0;
 }
+EXPORT_SYMBOL(capa_hmac);
 
 int capa_encrypt_id(__u32 *d, __u32 *s, __u8 *key, int keylen)
 {
@@ -320,6 +325,7 @@ out:
         ll_crypto_free_blkcipher(tfm);
         return rc;
 }
+EXPORT_SYMBOL(capa_encrypt_id);
 
 int capa_decrypt_id(__u32 *d, __u32 *s, __u8 *key, int keylen)
 {
@@ -373,14 +379,16 @@ out:
         ll_crypto_free_blkcipher(tfm);
         return rc;
 }
+EXPORT_SYMBOL(capa_decrypt_id);
 #endif
 
 void capa_cpy(void *capa, struct obd_capa *ocapa)
 {
-        cfs_spin_lock(&ocapa->c_lock);
-        *(struct lustre_capa *)capa = ocapa->c_capa;
-        cfs_spin_unlock(&ocapa->c_lock);
+       spin_lock(&ocapa->c_lock);
+       *(struct lustre_capa *)capa = ocapa->c_capa;
+       spin_unlock(&ocapa->c_lock);
 }
+EXPORT_SYMBOL(capa_cpy);
 
 void _debug_capa(struct lustre_capa *c,
                  struct libcfs_debug_msg_data *msgdata,
@@ -398,12 +406,3 @@ void _debug_capa(struct lustre_capa *c,
         va_end(args);
 }
 EXPORT_SYMBOL(_debug_capa);
-
-EXPORT_SYMBOL(init_capa_hash);
-EXPORT_SYMBOL(cleanup_capa_hash);
-EXPORT_SYMBOL(capa_add);
-EXPORT_SYMBOL(capa_lookup);
-EXPORT_SYMBOL(capa_hmac);
-EXPORT_SYMBOL(capa_encrypt_id);
-EXPORT_SYMBOL(capa_decrypt_id);
-EXPORT_SYMBOL(capa_cpy);