Whamcloud - gitweb
LU-8471 obdclass: restore EXPORT_SYMBOL for lu_ref* functions
[fs/lustre-release.git] / lustre / obdclass / lu_ref.c
index a1bfc25..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);