struct cmm_device *m = lu2cmm_dev(d);
LASSERT(atomic_read(&d->ld_ref) == 0);
+ LASSERT(m->cmm_tgt_count == 0);
md_device_fini(&m->cmm_md_dev);
OBD_FREE_PTR(m);
}
lu_device_put(cmm2lu_dev(cm));
ld->ld_type->ldt_ops->ldto_device_fini(ctx, ld_m);
ld->ld_type->ldt_ops->ldto_device_free(ctx, ld_m);
+ cm->cmm_tgt_count--;
}
EXIT;
}
MODULE_AUTHOR("Cluster File Systems, Inc. <info@clusterfs.com>");
-MODULE_DESCRIPTION("Lustre Clustered Meta-data Manager Prototype ("LUSTRE_CMM0_NAME")");
+MODULE_DESCRIPTION("Lustre Clustered Metadata Manager ("LUSTRE_CMM0_NAME")");
MODULE_LICENSE("GPL");
-cfs_module(cmm, "0.0.3", cmm_mod_init, cmm_mod_exit);
+cfs_module(cmm, "0.1.0", cmm_mod_init, cmm_mod_exit);
ENTRY;
- //TODO: check the name isn't exist
+ //XXX: make sure that MDT checks name isn't exist
/* remote object creation and local name insert */
rc = mo_object_create(ctx, cmm2child_obj(md2cmm_obj(mo_c)), attr);
int rc;
ENTRY;
- //TODO: check the name isn't exist
+ //XXX: make sure that MDT checks name isn't exist
rc = mo_ref_add(ctx, cmm2child_obj(md2cmm_obj(mo_s)));
if (rc == 0) {
rc = mdo_rename_tgt(ctx, c_pn, NULL/* mo_t */, lf, t_name);
/* only old name is removed localy */
if (rc == 0)
- rc = mdo_name_destroy(ctx, c_po, s_name);
+ rc = mdo_name_remove(ctx, c_po, s_name);
RETURN(rc);
}
struct lu_device *ld)
{
struct mdc_device *mc = lu2mdc_dev(ld);
- //TODO: disconnect from MDC OBD, finalize all other things.
+
ENTRY;
mdc_del_obd(mc);