Whamcloud - gitweb
Revert "LU-2459 osd: add LMA incompat flag check"
[fs/lustre-release.git] / lustre / osp / osp_dev.c
index fce9c94..af6ef02 100644 (file)
@@ -351,9 +351,6 @@ static int osp_shutdown(const struct lu_env *env, struct osp_device *d)
        ENTRY;
 
        LASSERT(env);
-       /* release last_used file */
-       if (!d->opd_connect_mdt)
-               osp_last_used_fini(env, d);
 
        rc = osp_disconnect(d);
 
@@ -363,6 +360,9 @@ static int osp_shutdown(const struct lu_env *env, struct osp_device *d)
 
                /* stop sync thread */
                osp_sync_fini(d);
+
+               /* release last_used file */
+               osp_last_used_fini(env, d);
        }
 
        obd_fid_fini(d->opd_obd);
@@ -695,6 +695,14 @@ static int osp_init0(const struct lu_env *env, struct osp_device *m,
                rc = osp_last_used_init(env, m);
                if (rc)
                        GOTO(out_proc, rc);
+
+               rc = obd_fid_init(m->opd_obd, NULL, LUSTRE_SEQ_DATA);
+               if (rc) {
+                       CERROR("%s: fid init error: rc = %d\n",
+                              m->opd_obd->obd_name, rc);
+                       GOTO(out_last_used, rc);
+               }
+
                /* Initialize precreation thread, it handles new
                 * connections as well. */
                rc = osp_init_precreate(m);
@@ -709,12 +717,6 @@ static int osp_init0(const struct lu_env *env, struct osp_device *m,
                if (rc)
                        GOTO(out_precreat, rc);
 
-               rc = obd_fid_init(m->opd_obd, NULL, LUSTRE_SEQ_DATA);
-               if (rc) {
-                       CERROR("%s: fid init error: rc = %d\n",
-                              m->opd_obd->obd_name, rc);
-                       GOTO(out, rc);
-               }
        }
        /*
         * Initiate connect to OST