Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / mds / lproc_mds.c
index c535591..594e8e9 100644 (file)
@@ -105,13 +105,15 @@ static int lprocfs_mds_wr_evict_client(struct file *file, const char *buffer,
 
         obd_export_evict_by_nid(obd, tmpbuf+4);
 
-        LPROCFS_ENTRY();
-        class_decref(obd);
 
         rc = ptlrpc_set_wait(set);
         if (rc)
                 CERROR("Failed to evict nid %s from OSTs: rc %d\n", tmpbuf + 4,
                        rc);
+
+        LPROCFS_ENTRY();
+        class_decref(obd);
+
         ptlrpc_set_destroy(set);
         return count;
 }
@@ -359,8 +361,11 @@ struct lprocfs_vars lprocfs_mdt_module_vars[] = {
 
 void mds_counter_incr(struct obd_export *exp, int opcode)
 {
-        lprocfs_counter_incr(exp->exp_obd->obd_stats, opcode);
-        lprocfs_counter_incr(exp->exp_ops_stats, opcode);
+        if (exp->exp_obd && exp->exp_obd->obd_stats)
+                lprocfs_counter_incr(exp->exp_obd->obd_stats, opcode);
+        if (exp->exp_nid_stats && exp->exp_nid_stats->nid_stats != NULL)
+                lprocfs_counter_incr(exp->exp_nid_stats->nid_stats, opcode);
+
 }
 
 void mds_stats_counter_init(struct lprocfs_stats *stats)