Whamcloud - gitweb
b=21871 Just cleanup export nid_stat while exp_refcount == 0.
authoryangsheng <Sheng.Yang@sun.com>
Fri, 20 Aug 2010 00:55:43 +0000 (04:55 +0400)
committerMikhail Pershin <tappro@sun.com>
Sun, 29 Aug 2010 16:56:41 +0000 (20:56 +0400)
i=nathan
i=johann

lustre/ldlm/ldlm_lib.c
lustre/mdt/mdt_fs.c
lustre/mgs/mgs_fs.c
lustre/obdclass/genops.c
lustre/obdfilter/filter.c

index 44b6130..aa794f7 100644 (file)
@@ -577,9 +577,6 @@ int server_disconnect_export(struct obd_export *exp)
         }
         cfs_spin_unlock(&exp->exp_lock);
 
-        /* release nid stat refererence */
-        lprocfs_exp_cleanup(exp);
-
         RETURN(rc);
 }
 
index aff8feb..1770620 100644 (file)
@@ -68,6 +68,5 @@ int mdt_export_stats_init(struct obd_device *obd,
         }
         RETURN(0);
  clean:
-        lprocfs_exp_cleanup(exp);
         return rc;
 }
index 43e185e..fe83a4d 100644 (file)
@@ -82,7 +82,6 @@ int mgs_export_stats_init(struct obd_device *obd, struct obd_export *exp,
         }
         RETURN(0);
 clean:
-        lprocfs_exp_cleanup(exp);
         return rc;
 }
 
index d41576c..e7632ca 100644 (file)
@@ -760,6 +760,10 @@ void class_export_put(struct obd_export *exp)
                 LASSERT(!cfs_list_empty(&exp->exp_obd_chain));
                 CDEBUG(D_IOCTL, "final put %p/%s\n",
                        exp, exp->exp_client_uuid.uuid);
+
+                /* release nid stat refererence */
+                lprocfs_exp_cleanup(exp);
+
                 obd_zombie_export_add(exp);
         }
 }
index 1c485bb..3570a30 100644 (file)
@@ -290,7 +290,6 @@ static int filter_export_stats_init(struct obd_device *obd,
 
         RETURN(0);
  clean:
-        lprocfs_exp_cleanup(exp);
         return rc;
 }
 
@@ -2808,7 +2807,6 @@ static int filter_connect(const struct lu_env *env,
 cleanup:
         if (rc) {
                 class_disconnect(lexp);
-                lprocfs_exp_cleanup(lexp);
                 *exp = NULL;
         } else {
                 *exp = lexp;