struct cmm_device *m = lu2cmm_dev(d);
struct lu_device *next = md2lu_dev(m->cmm_child);
int err;
+ ENTRY;
switch(cfg->lcfg_command) {
case LCFG_ADD_MDC:
static struct lu_device_type cmm_device_type = {
.ldt_tags = LU_DEVICE_MD,
- .ldt_name = LUSTRE_CMM0_NAME,
+ .ldt_name = LUSTRE_CMM_NAME,
.ldt_ops = &cmm_device_type_ops,
- .ldt_ctx_tags = LCT_MD_THREAD
+ .ldt_ctx_tags = LCT_MD_THREAD | LCT_DT_THREAD
};
struct lprocfs_vars lprocfs_cmm_obd_vars[] = {
lprocfs_init_vars(cmm, &lvars);
return class_register_type(&cmm_obd_device_ops, NULL, lvars.module_vars,
- LUSTRE_CMM0_NAME, &cmm_device_type);
+ LUSTRE_CMM_NAME, &cmm_device_type);
}
static void __exit cmm_mod_exit(void)
{
- class_unregister_type(LUSTRE_CMM0_NAME);
+ class_unregister_type(LUSTRE_CMM_NAME);
}
MODULE_AUTHOR("Cluster File Systems, Inc. <info@clusterfs.com>");
-MODULE_DESCRIPTION("Lustre Clustered Metadata Manager ("LUSTRE_CMM0_NAME")");
+MODULE_DESCRIPTION("Lustre Clustered Metadata Manager ("LUSTRE_CMM_NAME")");
MODULE_LICENSE("GPL");
cfs_module(cmm, "0.1.0", cmm_mod_init, cmm_mod_exit);
static int cml_object_print(const struct lu_context *ctx, void *cookie,
lu_printer_t p, const struct lu_object *lo)
{
- return (*p)(ctx, cookie, LUSTRE_CMM0_NAME"-local@%p", lo);
+ return (*p)(ctx, cookie, LUSTRE_CMM_NAME"-local@%p", lo);
}
static struct lu_object_operations cml_obj_ops = {
static int cmr_object_print(const struct lu_context *ctx, void *cookie,
lu_printer_t p, const struct lu_object *lo)
{
- return (*p)(ctx, cookie, LUSTRE_CMM0_NAME"-remote@%p", lo);
+ return (*p)(ctx, cookie, LUSTRE_CMM_NAME"-remote@%p", lo);
}
static struct lu_object_operations cmr_obj_ops = {
struct lu_device_type mdc_device_type = {
.ldt_tags = LU_DEVICE_MD,
- .ldt_name = LUSTRE_MDC0_NAME,
+ .ldt_name = LUSTRE_CMM_MDC_NAME,
.ldt_ops = &mdc_device_type_ops,
.ldt_ctx_tags = LCT_MD_THREAD|LCT_CL_THREAD
};
static int mdc_object_print(const struct lu_context *ctx, void *cookie,
lu_printer_t p, const struct lu_object *lo)
{
- return (*p)(ctx, cookie, LUSTRE_MDC0_NAME"-object@%p", lo);
+ return (*p)(ctx, cookie, LUSTRE_CMM_MDC_NAME"-object@%p", lo);
}
static struct lu_object_operations mdc_obj_ops = {
static int __init fld_mod_init(void)
{
+ printk(KERN_INFO "Lustre: Fid Location Database; info@clusterfs.com\n");
lu_context_key_register(&fld_thread_key);
return 0;
}
#define LUSTRE_MDT_NAME "mdt"
/* new MDS layers. Prototype */
-#define LUSTRE_MDT0_NAME "mdt0"
-#define LUSTRE_CMM0_NAME "cmm0"
-#define LUSTRE_MDD0_NAME "mdd0"
-#define LUSTRE_OSD0_NAME "osd0"
-#define LUSTRE_MDC0_NAME "mdc0"
+#define LUSTRE_CMM_NAME "cmm"
+#define LUSTRE_MDD_NAME "mdd"
+#define LUSTRE_OSD_NAME "osd"
+#define LUSTRE_CMM_MDC_NAME "cmm-mdc"
#define LUSTRE_MDC_NAME "mdc"
#define LUSTRE_LOV_NAME "lov"
static int mdd_object_print(const struct lu_context *ctxt, void *cookie,
lu_printer_t p, const struct lu_object *o)
{
- return (*p)(ctxt, cookie, LUSTRE_MDD0_NAME"-object@%p", o);
+ return (*p)(ctxt, cookie, LUSTRE_MDD_NAME"-object@%p", o);
}
static int mdd_mount(const struct lu_context *ctx, struct mdd_device *mdd)
static struct lu_device_type mdd_device_type = {
.ldt_tags = LU_DEVICE_MD,
- .ldt_name = LUSTRE_MDD0_NAME,
+ .ldt_name = LUSTRE_MDD_NAME,
.ldt_ops = &mdd_device_type_ops,
- .ldt_ctx_tags = LCT_MD_THREAD
+ .ldt_ctx_tags = LCT_MD_THREAD | LCT_DT_THREAD
};
static void *mdd_key_init(const struct lu_context *ctx,
static int __init mdd_mod_init(void)
{
struct lprocfs_static_vars lvars;
-
+ printk(KERN_INFO "Lustre: MetaData Device; info@clusterfs.com\n");
lprocfs_init_vars(mdd, &lvars);
return class_register_type(&mdd_obd_device_ops, NULL, lvars.module_vars,
- LUSTRE_MDD0_NAME, &mdd_device_type);
+ LUSTRE_MDD_NAME, &mdd_device_type);
}
static void __exit mdd_mod_exit(void)
{
- class_unregister_type(LUSTRE_MDD0_NAME);
+ class_unregister_type(LUSTRE_MDD_NAME);
}
MODULE_AUTHOR("Cluster File Systems, Inc. <info@clusterfs.com>");
-MODULE_DESCRIPTION("Lustre Meta-data Device Prototype ("LUSTRE_MDD0_NAME")");
+MODULE_DESCRIPTION("Lustre Meta-data Device Prototype ("LUSTRE_MDD_NAME")");
MODULE_LICENSE("GPL");
cfs_module(mdd, "0.1.0", mdd_mod_init, mdd_mod_exit);
class_register_type(&mds_obd_ops, NULL,
lvars.module_vars, LUSTRE_MDS_NAME, NULL);
lprocfs_init_vars(mdt, &lvars);
- class_register_type(&mdt_obd_ops, NULL,
- lvars.module_vars, LUSTRE_MDT_NAME, NULL);
+ mdt_obd_ops = mdt_obd_ops; //make compiler happy
+// class_register_type(&mdt_obd_ops, NULL,
+// lvars.module_vars, LUSTRE_MDT_NAME, NULL);
return 0;
}
PORTAL_SYMBOL_PUT(mds_quota_interface);
class_unregister_type(LUSTRE_MDS_NAME);
- class_unregister_type(LUSTRE_MDT_NAME);
+// class_unregister_type(LUSTRE_MDT_NAME);
}
/*mds still need lov setup here*/
static int mds_cmd_setup(struct obd_device *obd, struct lustre_cfg *lcfg)
rc = mdt_reply(req, rc, info);
}
} else
- CERROR(LUSTRE_MDT0_NAME" drops mal-formed request\n");
+ CERROR(LUSTRE_MDT_NAME" drops mal-formed request\n");
RETURN(rc);
}
*/
.psc_num_threads = min(max(mdt_num_threads, MDT_MIN_THREADS),
MDT_MAX_THREADS),
- .psc_ctx_tags = LCT_MD_THREAD
+ .psc_ctx_tags = LCT_MD_THREAD | LCT_DT_THREAD
};
m->mdt_ldlm_client = &m->mdt_md_dev.md_lu_dev.ld_obd->obd_ldlm_client;
"mdt_ldlm_client", m->mdt_ldlm_client);
m->mdt_service =
- ptlrpc_init_svc_conf(&conf, mdt_regular_handle, LUSTRE_MDT0_NAME,
+ ptlrpc_init_svc_conf(&conf, mdt_regular_handle, LUSTRE_MDT_NAME,
m->mdt_md_dev.md_lu_dev.ld_proc_entry,
NULL);
if (m->mdt_service == NULL)
RETURN(-ENOMEM);
- rc = ptlrpc_start_threads(NULL, m->mdt_service, LUSTRE_MDT0_NAME);
+ rc = ptlrpc_start_threads(NULL, m->mdt_service, LUSTRE_MDT_NAME);
if (rc)
GOTO(err_mdt_svc, rc);
.psc_watchdog_timeout = MDT_SERVICE_WATCHDOG_TIMEOUT,
.psc_num_threads = min(max(mdt_num_threads, MDT_MIN_THREADS),
MDT_MAX_THREADS),
- .psc_ctx_tags = LCT_MD_THREAD
+ .psc_ctx_tags = LCT_MD_THREAD | LCT_DT_THREAD
};
m->mdt_readpage_service =
ptlrpc_init_svc_conf(&conf, mdt_readpage_handle,
- LUSTRE_MDT0_NAME "_readpage",
+ LUSTRE_MDT_NAME "_readpage",
m->mdt_md_dev.md_lu_dev.ld_proc_entry,
NULL);
.psc_watchdog_timeout = MDT_SERVICE_WATCHDOG_TIMEOUT,
.psc_num_threads = min(max(mdt_num_threads, MDT_MIN_THREADS),
MDT_MAX_THREADS),
- .psc_ctx_tags = LCT_MD_THREAD
+ .psc_ctx_tags = LCT_MD_THREAD | LCT_DT_THREAD
};
m->mdt_setattr_service =
ptlrpc_init_svc_conf(&conf, mdt_regular_handle,
- LUSTRE_MDT0_NAME "_setattr",
+ LUSTRE_MDT_NAME "_setattr",
m->mdt_md_dev.md_lu_dev.ld_proc_entry,
NULL);
struct lu_device *d;
int rc;
ENTRY;
-
+
/* find the type */
type = class_get_type(typename);
if (!type) {
lu_device_get(d);
RETURN(d);
+
out_alloc:
ldt->ldt_ops->ldto_device_free(ctx, d);
type->typ_refcnt--;
return ERR_PTR(rc);
}
-static int mdt_stack_init(const struct lu_context *ctx,
+static int mdt_stack_init(const struct lu_context *ctx,
struct mdt_device *m, struct lustre_cfg *cfg)
{
struct lu_device *d = &m->mdt_md_dev.md_lu_dev;
struct lu_device *tmp;
- struct md_device *md;
+ struct md_device *md;
int rc;
ENTRY;
/* init the stack */
- tmp = mdt_layer_setup(ctx, LUSTRE_OSD0_NAME, d, cfg);
+ tmp = mdt_layer_setup(ctx, LUSTRE_OSD_NAME, d, cfg);
if (IS_ERR(tmp)) {
RETURN(PTR_ERR(tmp));
}
m->mdt_bottom = lu2dt_dev(tmp);
d = tmp;
- tmp = mdt_layer_setup(ctx, LUSTRE_MDD0_NAME, d, cfg);
+ tmp = mdt_layer_setup(ctx, LUSTRE_MDD_NAME, d, cfg);
if (IS_ERR(tmp)) {
GOTO(out, rc = PTR_ERR(tmp));
}
d = tmp;
md = lu2md_dev(d);
- tmp = mdt_layer_setup(ctx, LUSTRE_CMM0_NAME, d, cfg);
+ tmp = mdt_layer_setup(ctx, LUSTRE_CMM_NAME, d, cfg);
if (IS_ERR(tmp)) {
GOTO(out, rc = PTR_ERR(tmp));
}
}
static int mdt_init0(const struct lu_context *ctx, struct mdt_device *m,
- struct lu_device_type *t, struct lustre_cfg *cfg)
+ struct lu_device_type *ldt, struct lustre_cfg *cfg)
{
struct mdt_thread_info *info;
struct obd_device *obd;
if (s == NULL)
RETURN(-ENOMEM);
- md_device_init(&m->mdt_md_dev, t);
+ md_device_init(&m->mdt_md_dev, ldt);
m->mdt_md_dev.md_lu_dev.ld_ops = &mdt_lu_ops;
m->mdt_md_dev.md_lu_dev.ld_obd = obd;
CERROR("can't init device stack, rc %d\n", rc);
GOTO(err_fini_site, rc);
}
+
/* set server index */
LASSERT(num);
s->ls_node_id = simple_strtol(num, NULL, 10);
GOTO(err_fini_fld, rc);
snprintf(info->mti_u.ns_name, sizeof info->mti_u.ns_name,
- LUSTRE_MDT0_NAME"-%p", m);
+ LUSTRE_MDT_NAME"-%p", m);
m->mdt_namespace = ldlm_namespace_new(info->mti_u.ns_name,
LDLM_NAMESPACE_SERVER);
if (m->mdt_namespace == NULL)
static int mdt_object_print(const struct lu_context *ctxt, void *cookie,
lu_printer_t p, const struct lu_object *o)
{
- return (*p)(ctxt, cookie, LUSTRE_MDT0_NAME"-object@%p", o);
+ return (*p)(ctxt, cookie, LUSTRE_MDT_NAME"-object@%p", o);
}
static struct lu_device_operations mdt_lu_ops = {
if (obd_uuid_equals(&export->exp_client_uuid, &obd->obd_uuid))
RETURN(0);
- rc = lu_context_init(&ctxt, LCT_MD_THREAD);
+ rc = lu_context_init(&ctxt, LCT_MD_THREAD | LCT_DT_THREAD);
if (rc)
RETURN(rc);
ENTRY;
CDEBUG(D_IOCTL, "handling ioctl cmd %#x\n", cmd);
- rc = lu_context_init(&ctxt, LCT_MD_THREAD);
+ rc = lu_context_init(&ctxt, LCT_MD_THREAD | LCT_DT_THREAD);
if (rc)
RETURN(rc);
lu_context_enter(&ctxt);
static struct lu_device_type mdt_device_type = {
.ldt_tags = LU_DEVICE_MD,
- .ldt_name = LUSTRE_MDT0_NAME,
+ .ldt_name = LUSTRE_MDT_NAME,
.ldt_ops = &mdt_device_type_ops,
- .ldt_ctx_tags = LCT_MD_THREAD
+ .ldt_ctx_tags = LCT_MD_THREAD | LCT_DT_THREAD
};
static struct lprocfs_vars lprocfs_mdt_obd_vars[] = {
int rc;
struct lprocfs_static_vars lvars;
+ printk(KERN_INFO "Lustre: MetaData Target; info@clusterfs.com\n");
+
mdt_num_threads = MDT_NUM_THREADS;
lprocfs_init_vars(mdt, &lvars);
rc = class_register_type(&mdt_obd_device_ops, NULL,
- lvars.module_vars, LUSTRE_MDT0_NAME,
+ lvars.module_vars, LUSTRE_MDT_NAME,
&mdt_device_type);
return rc;
}
static void __exit mdt_mod_exit(void)
{
- class_unregister_type(LUSTRE_MDT0_NAME);
+ class_unregister_type(LUSTRE_MDT_NAME);
}
};
MODULE_AUTHOR("Cluster File Systems, Inc. <info@clusterfs.com>");
-MODULE_DESCRIPTION("Lustre Meta-data Target ("LUSTRE_MDT0_NAME")");
+MODULE_DESCRIPTION("Lustre Meta-data Target ("LUSTRE_MDT_NAME")");
MODULE_LICENSE("GPL");
CFS_MODULE_PARM(mdt_num_threads, "ul", ulong, 0444,
struct dt_device *dd, int id)
{
if (OBD_FAIL_CHECK(id)) {
- CERROR(LUSTRE_MDT0_NAME": obd_fail_loc=%x, fail write ops\n",
+ CERROR(LUSTRE_MDT_NAME": obd_fail_loc=%x, fail write ops\n",
id);
dd->dd_ops->dt_ro(ctx, dd, 0);
/* We set FAIL_ONCE because we never "un-fail" a device */
#define MDT_FAIL_CHECK(id) \
({ \
if (OBD_FAIL_CHECK(id)) \
- CERROR(LUSTRE_MDT0_NAME": " #id " test failed\n"); \
+ CERROR(LUSTRE_MDT_NAME": " #id " test failed\n"); \
OBD_FAIL_CHECK(id); \
})
#define MDT_FAIL_CHECK_ONCE(id) \
({ int _ret_ = 0; \
if (OBD_FAIL_CHECK(id)) { \
- CERROR(LUSTRE_MDT0_NAME": *** obd_fail_loc=%x ***\n", id); \
+ CERROR(LUSTRE_MDT_NAME": *** obd_fail_loc=%x ***\n", id); \
obd_fail_loc |= OBD_FAILED; \
if ((id) & OBD_FAIL_ONCE) \
obd_fail_loc |= OBD_FAIL_ONCE; \
/* FIXME this whole fn should be a single journal transaction */
rc = record_marker(obd, llh, fsdb, CM_START, log, "add mdt");
- rc = record_attach(obd, llh, log, LUSTRE_MDT0_NAME, uuid);
+ rc = record_attach(obd, llh, log, LUSTRE_MDT_NAME, uuid);
rc = record_mount_opt(obd, llh, log, lovname, NULL);
rc = record_setup(obd, llh, log, uuid, mdt_index, lovname, 0);
rc = record_marker(obd, llh, fsdb, CM_END, log, "add mdt");
#ifdef CONFIG_KMOD
if (!type) {
const char *modname = name;
- if (strcmp(modname, LUSTRE_MDT_NAME) == 0)
- modname = LUSTRE_MDS_NAME;
if (!request_module(modname)) {
CDEBUG(D_INFO, "Loaded module '%s'\n", modname);
type = class_search_type(name);
mountconf flag is set.
1.6 should set this flag, and translate the other way here
if not set. */
+#if 0
if (lcfg->lcfg_flags & LCFG_FLG_MOUNTCONF){
char *tmp = NULL;
if (strcmp(typename, "mds") == 0)
typename = tmp;
}
}
-
+#endif
obd = class_newdev(typename, name);
if (IS_ERR(obd)) {
/* Already exists or out of obds */
#include <obd_support.h>
/* struct ptlrpc_thread */
#include <lustre_net.h>
-/* LUSTRE_OSD0_NAME */
+/* LUSTRE_OSD_NAME */
#include <obd.h>
/* class_register_type(), class_unregister_type(), class_get_type() */
#include <obd_class.h>
struct iam_descr *d;
d = o->oo_container.ic_descr;
- return (*p)(ctx, cookie, LUSTRE_OSD0_NAME"-object@%p(i:%p:%lu/%u)[%s]",
+ return (*p)(ctx, cookie, LUSTRE_OSD_NAME"-object@%p(i:%p:%lu/%u)[%s]",
o, o->oo_inode,
o->oo_inode ? o->oo_inode->i_ino : 0UL,
o->oo_inode ? o->oo_inode->i_generation : 0,
struct osd_device *osd = osd_dt_dev(d);
ENTRY;
- CDEBUG(D_HA, "syncing OSD %s\n", LUSTRE_OSD0_NAME);
+ CDEBUG(D_HA, "syncing OSD %s\n", LUSTRE_OSD_NAME);
ldiskfs_force_commit(osd_sb(osd));
EXIT;
}
struct txn_param *param = &oti->oti_txn;
ENTRY;
- CERROR("*** setting device %s read-only ***\n", LUSTRE_OSD0_NAME);
+ CERROR("*** setting device %s read-only ***\n", LUSTRE_OSD_NAME);
param->tp_credits = SYNC_DEVICE_CREDITS;
}
static struct lu_context_key osd_key = {
- .lct_tags = LCT_MD_THREAD|LCT_DT_THREAD,
+ .lct_tags = LCT_DT_THREAD,
.lct_init = osd_key_init,
.lct_fini = osd_key_fini,
.lct_exit = osd_key_exit
{
struct osd_device *o = osd_dev(d);
int err;
+ ENTRY;
switch(cfg->lcfg_command) {
case LCFG_SETUP:
static struct lu_device_type osd_device_type = {
.ldt_tags = LU_DEVICE_DT,
- .ldt_name = LUSTRE_OSD0_NAME,
+ .ldt_name = LUSTRE_OSD_NAME,
.ldt_ops = &osd_device_type_ops,
.ldt_ctx_tags = LCT_MD_THREAD|LCT_DT_THREAD
};
lprocfs_init_vars(osd, &lvars);
return class_register_type(&osd_obd_device_ops, NULL, lvars.module_vars,
- LUSTRE_OSD0_NAME, &osd_device_type);
+ LUSTRE_OSD_NAME, &osd_device_type);
}
static void __exit osd_mod_exit(void)
{
- class_unregister_type(LUSTRE_OSD0_NAME);
+ class_unregister_type(LUSTRE_OSD_NAME);
}
MODULE_AUTHOR("Cluster File Systems, Inc. <info@clusterfs.com>");
-MODULE_DESCRIPTION("Lustre Object Storage Device ("LUSTRE_OSD0_NAME")");
+MODULE_DESCRIPTION("Lustre Object Storage Device ("LUSTRE_OSD_NAME")");
MODULE_LICENSE("GPL");
cfs_module(osd, "0.0.2", osd_mod_init, osd_mod_exit);