static int ofd_init0(const struct lu_env *env, struct ofd_device *m,
struct lu_device_type *ldt, struct lustre_cfg *cfg)
{
- const char *dev = lustre_cfg_string(cfg, 0);
- struct ofd_thread_info *info = NULL;
- struct obd_device *obd;
- struct obd_statfs *osfs;
- struct lu_fid fid;
- int rc;
+ const char *dev = lustre_cfg_string(cfg, 0);
+ struct ofd_thread_info *info = NULL;
+ struct obd_device *obd;
+ struct obd_statfs *osfs;
+ struct lu_fid fid;
+ struct nm_config_file *nodemap_config;
+ int rc;
ENTRY;
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);
+ nodemap_config = nm_config_file_register_tgt(env, m->ofd_osd,
+ m->ofd_los);
+ if (IS_ERR(nodemap_config))
+ GOTO(err_fini_los, rc = PTR_ERR(nodemap_config));
+
+ obd->u.obt.obt_nodemap_config_file = nodemap_config;
rc = ofd_start_inconsistency_verification_thread(m);
if (rc != 0)
RETURN(0);
err_fini_nm:
- nodemap_fs_fini(env, obd);
+ nm_config_file_deregister_tgt(env, obd->u.obt.obt_nodemap_config_file);
+ obd->u.obt.obt_nodemap_config_file = NULL;
err_fini_los:
local_oid_storage_fini(env, m->ofd_los);
m->ofd_los = NULL;
ofd_stop_inconsistency_verification_thread(m);
lfsck_degister(env, m->ofd_osd);
ofd_fs_cleanup(env, m);
- nodemap_fs_fini(env, obd);
+ nm_config_file_deregister_tgt(env, obd->u.obt.obt_nodemap_config_file);
+ obd->u.obt.obt_nodemap_config_file = NULL;
if (m->ofd_los != NULL) {
local_oid_storage_fini(env, m->ofd_los);