Whamcloud - gitweb
LU-8471 obdclass: restore EXPORT_SYMBOL for lu_ref* functions
[fs/lustre-release.git] / lustre / obdclass / lu_ref.c
index 2cdba58..aee9cf8 100644 (file)
@@ -102,7 +102,6 @@ void lu_ref_print(const struct lu_ref *ref)
                 CERROR("     link: %s %p\n", link->ll_scope, link->ll_source);
         }
 }
-EXPORT_SYMBOL(lu_ref_print);
 
 static int lu_ref_is_marker(const struct lu_ref *ref)
 {
@@ -124,7 +123,6 @@ void lu_ref_print_all(void)
        }
        spin_unlock(&lu_ref_refs_guard);
 }
-EXPORT_SYMBOL(lu_ref_print_all);
 
 void lu_ref_init_loc(struct lu_ref *ref, const char *func, const int line)
 {
@@ -141,8 +139,10 @@ EXPORT_SYMBOL(lu_ref_init_loc);
 
 void lu_ref_fini(struct lu_ref *ref)
 {
+       spin_lock(&ref->lf_guard);
        REFASSERT(ref, list_empty(&ref->lf_list));
        REFASSERT(ref, ref->lf_refs == 0);
+       spin_unlock(&ref->lf_guard);
        spin_lock(&lu_ref_refs_guard);
        list_del_init(&ref->lf_linkage);
        spin_unlock(&lu_ref_refs_guard);
@@ -268,9 +268,8 @@ void lu_ref_set_at(struct lu_ref *ref, struct lu_ref_link *link,
                   const char *scope,
                   const void *source0, const void *source1)
 {
-       REFASSERT(ref, link != NULL && !IS_ERR(link));
-
        spin_lock(&ref->lf_guard);
+       REFASSERT(ref, link != NULL && !IS_ERR(link));
        REFASSERT(ref, link->ll_ref == ref);
        REFASSERT(ref, lu_ref_link_eq(link, scope, source0));
        link->ll_source = source1;
@@ -281,8 +280,8 @@ EXPORT_SYMBOL(lu_ref_set_at);
 void lu_ref_del_at(struct lu_ref *ref, struct lu_ref_link *link,
                   const char *scope, const void *source)
 {
-       REFASSERT(ref, link != NULL && !IS_ERR(link));
        spin_lock(&ref->lf_guard);
+       REFASSERT(ref, link != NULL && !IS_ERR(link));
        REFASSERT(ref, link->ll_ref == ref);
        REFASSERT(ref, lu_ref_link_eq(link, scope, source));
        list_del(&link->ll_linkage);
@@ -291,7 +290,7 @@ void lu_ref_del_at(struct lu_ref *ref, struct lu_ref_link *link,
 }
 EXPORT_SYMBOL(lu_ref_del_at);
 
-#ifdef LPROCFS
+#ifdef CONFIG_PROC_FS
 
 static void *lu_ref_seq_start(struct seq_file *seq, loff_t *pos)
 {
@@ -415,7 +414,7 @@ static struct file_operations lu_ref_dump_fops = {
         .release = lu_ref_seq_release
 };
 
-#endif /* LPROCFS */
+#endif /* CONFIG_PROC_FS */
 
 int lu_ref_global_init(void)
 {
@@ -428,23 +427,23 @@ int lu_ref_global_init(void)
        spin_lock_init(&lu_ref_refs_guard);
         result = lu_kmem_init(lu_ref_caches);
 
-#ifdef LPROCFS
+#ifdef CONFIG_PROC_FS
         if (result == 0) {
                 result = lprocfs_seq_create(proc_lustre_root, "lu_refs",
                                             0444, &lu_ref_dump_fops, NULL);
                 if (result)
                         lu_kmem_fini(lu_ref_caches);
         }
-#endif /* LPROCFS */
+#endif /* CONFIG_PROC_FS */
 
         return result;
 }
 
 void lu_ref_global_fini(void)
 {
-#ifdef LPROCFS
+#ifdef CONFIG_PROC_FS
         lprocfs_remove_proc_entry("lu_refs", proc_lustre_root);
-#endif /* LPROCFS */
+#endif /* CONFIG_PROC_FS */
         lu_kmem_fini(lu_ref_caches);
 }