mdt_obd_llog_cleanup(obd);
obd_exports_barrier(obd);
obd_zombie_barrier();
+
+ mdt_procfs_fini(m);
+
#ifdef HAVE_QUOTA_SUPPORT
next->md_ops->mdo_quota.mqo_cleanup(env, next);
#endif
*/
mdt_stack_fini(env, m, md2lu_dev(m->mdt_child));
- lprocfs_free_per_client_stats(obd);
- lprocfs_free_obd_stats(obd);
- mdt_procfs_fini(m);
-
if (ls) {
struct md_site *mite;
GOTO(err_free_site, rc);
}
- rc = mdt_procfs_init(m, dev);
- if (rc) {
- CERROR("Can't init MDT lprocfs, rc %d\n", rc);
- GOTO(err_fini_proc, rc);
- }
-
/* set server index */
lu_site2md(s)->ms_node_id = node_id;
rc = mdt_stack_init((struct lu_env *)env, m, cfg, lmi);
if (rc) {
CERROR("Can't init device stack, rc %d\n", rc);
- GOTO(err_fini_proc, rc);
+ GOTO(err_lu_site, rc);
}
rc = lut_init(env, &m->mdt_lut, obd, m->mdt_bottom);
target_recovery_init(&m->mdt_lut, mdt_recovery_handle);
+ rc = mdt_procfs_init(m, dev);
+ if (rc) {
+ CERROR("Can't init MDT lprocfs, rc %d\n", rc);
+ GOTO(err_recovery, rc);
+ }
+
rc = mdt_start_ptlrpc_service(m);
if (rc)
- GOTO(err_recovery, rc);
+ GOTO(err_procfs, rc);
ping_evictor_start();
err_stop_service:
ping_evictor_stop();
mdt_stop_ptlrpc_service(m);
+err_procfs:
+ mdt_procfs_fini(m);
err_recovery:
target_recovery_fini(obd);
upcall_cache_cleanup(m->mdt_identity_cache);
lut_fini(env, &m->mdt_lut);
err_fini_stack:
mdt_stack_fini(env, m, md2lu_dev(m->mdt_child));
-err_fini_proc:
- mdt_procfs_fini(m);
+err_lu_site:
lu_site_fini(s);
err_free_site:
OBD_FREE_PTR(mite);