struct ofd_thread_info *info = NULL;
struct obd_device *obd;
struct obd_statfs *osfs;
+ struct lu_fid fid;
int rc;
ENTRY;
if (rc)
GOTO(err_fini_lut, rc);
- rc = ofd_start_inconsistency_verification_thread(m);
+ fid.f_seq = FID_SEQ_LOCAL_NAME;
+ fid.f_oid = 1;
+ fid.f_ver = 0;
+ rc = local_oid_storage_init(env, m->ofd_osd, &fid,
+ &m->ofd_los);
if (rc != 0)
GOTO(err_fini_fs, rc);
+ rc = nodemap_fs_init(env, m->ofd_osd, obd, m->ofd_los);
+ if (rc != 0)
+ GOTO(err_fini_los, rc);
+
+ rc = ofd_start_inconsistency_verification_thread(m);
+ if (rc != 0)
+ GOTO(err_fini_nm, rc);
+
tgt_adapt_sptlrpc_conf(&m->ofd_lut, 1);
RETURN(0);
+err_fini_nm:
+ nodemap_fs_fini(env, obd);
+err_fini_los:
+ local_oid_storage_fini(env, m->ofd_los);
+ m->ofd_los = NULL;
err_fini_fs:
ofd_fs_cleanup(env, m);
err_fini_lut:
ofd_stop_inconsistency_verification_thread(m);
lfsck_degister(env, m->ofd_osd);
ofd_fs_cleanup(env, m);
+ nodemap_fs_fini(env, obd);
+
+ if (m->ofd_los != NULL) {
+ local_oid_storage_fini(env, m->ofd_los);
+ m->ofd_los = NULL;
+ }
if (m->ofd_namespace != NULL) {
ldlm_namespace_free_post(m->ofd_namespace);