ping_evictor_stop();
mdt_stop_ptlrpc_service(m);
+ if (m->mdt_namespace != NULL) {
+ ldlm_namespace_free(m->mdt_namespace, 0);
+ m->mdt_namespace = NULL;
+ }
+
mdt_seq_fini(ctx, m);
mdt_seq_fini_cli(m);
/* finish the stack */
mdt_stack_fini(ctx, m, md2lu_dev(m->mdt_child));
- if (m->mdt_namespace != NULL) {
- ldlm_namespace_free(m->mdt_namespace, 0);
- m->mdt_namespace = NULL;
- }
-
if (ls) {
lu_site_fini(ls);
OBD_FREE_PTR(ls);
int mdt_postrecov(struct obd_device *obd)
{
struct lu_context ctxt;
- struct lu_device *ld = obd->obd_lu_dev;
- struct mdt_device *mdt = mdt_dev(ld);
+ struct mdt_device *mdt = mdt_dev(obd->obd_lu_dev);
+ struct lu_device *ld = md2lu_dev(mdt->mdt_child);
int rc;
ENTRY;
if (rc)
RETURN(rc);
lu_context_enter(&ctxt);
- if (ld && ld->ld_ops && ld->ld_ops->ldo_recovery_complete)
- rc = ld->ld_ops->ldo_recovery_complete(&ctxt,
- md2lu_dev(mdt->mdt_child));
+ rc = ld->ld_ops->ldo_recovery_complete(&ctxt, ld);
lu_context_exit(&ctxt);
lu_context_fini(&ctxt);
RETURN(rc);