sprintf((char *)uuid, "%s_UUID", dev);
rc = record_start_log(obd, &llh, log);
- rc = record_marker(obd, llh, fsdb, CM_START, log, "mdd setup");
+ rc = record_marker(obd, llh, fsdb, CM_START, dev, "mdd setup");
rc = record_attach(obd, llh, dev, LUSTRE_MDD0_NAME, uuid);
rc = record_setup(obd, llh, dev, child, lov, uuid, 0);
- rc = record_marker(obd, llh, fsdb, CM_END, log, "mdd setup");
+ rc = record_marker(obd, llh, fsdb, CM_END, dev, "mdd setup");
rc = record_end_log(obd, &llh);
OBD_FREE(uuid, sizeof(*uuid));
sprintf((char *)uuid, "%s_UUID", dev);
rc = record_start_log(obd, &llh, log);
- rc = record_marker(obd, llh, fsdb, CM_START, log, "osd setup");
+ rc = record_marker(obd, llh, fsdb, CM_START, dev, "osd setup");
rc = record_attach(obd, llh, dev, LUSTRE_OSD0_NAME, uuid);
rc = record_setup(obd, llh, dev, uuid, 0, 0, 0);
- rc = record_marker(obd, llh, fsdb, CM_END, log, "osd setup");
+ rc = record_marker(obd, llh, fsdb, CM_END, dev, "osd setup");
rc = record_end_log(obd, &llh);
OBD_FREE(uuid, sizeof(*uuid));
sprintf((char *)uuid, "%s_UUID", dev);
/* add MDT itself */
rc = record_start_log(obd, &llh, log);
- rc = record_marker(obd, llh, fsdb, CM_START, log, "add mdt");
- rc = record_attach(obd, llh, log, LUSTRE_MDT0_NAME, uuid);
- rc = record_setup(obd, llh, log, child, uuid, 0, 0);
- rc = record_marker(obd, llh, fsdb, CM_END, log, "add mdt");
+ rc = record_marker(obd, llh, fsdb, CM_START, dev, "add mdt");
+ rc = record_attach(obd, llh, dev, LUSTRE_MDT0_NAME, uuid);
+ rc = record_setup(obd, llh, dev, child, uuid, 0, 0);
+ rc = record_marker(obd, llh, fsdb, CM_END, dev, "add mdt");
rc = record_end_log(obd, &llh);
OBD_FREE(uuid, sizeof(*uuid));
/* Make up our own uuid */
snprintf(mti->mti_uuid, sizeof(mti->mti_uuid), "%s_UUID", mti->mti_svname);
- name_create(mti->mti_fsname, "-mdscmm", &cmmname);
- name_create(mti->mti_fsname, "-mdsmdd", &mddname);
- name_create(mti->mti_fsname, "-mdsosd", &osdname);
- name_create(mti->mti_fsname, "-mdsmdt", &mdtname);
- name_create(mti->mti_fsname, "-mdslov", &lovname);
+ name_create(mti->mti_fsname, "-mdtcmm", &cmmname);
+ name_create(mti->mti_fsname, "-mdtmdd", &mddname);
+ name_create(mti->mti_fsname, "-mdtosd", &osdname);
+ name_create(mti->mti_fsname, "-mdtmdt", &mdtname);
+ name_create(mti->mti_fsname, "-mdtlov", &lovname);
/* add osd */
- rc = mgs_write_log_osd(obd, fsdb, mti->mti_svname, osdname);
+ rc = mgs_write_log_osd(obd, fsdb, mti->mti_svname, mti->mti_svname);
/* add lov */
rc = mgs_write_log_lov(obd, fsdb, mti, mti->mti_svname, lovname);
/* add mdd */
rc = mgs_write_log_mdd(obd, fsdb, mti->mti_svname, mddname,
osdname, lovname);
/* add cmm */
- rc = mgs_write_log_cmm0(obd, fsdb, mti->mti_svname, cmmname,
- mddname);
+ rc = mgs_write_log_cmm0(obd, fsdb, mti->mti_svname, cmmname, mddname);
/* add mdt */
- rc = mgs_write_log_mdt0(obd, fsdb, mti->mti_svname, mdtname,
- cmmname);
+ rc = mgs_write_log_mdt0(obd, fsdb, mti->mti_svname, mdtname, cmmname);
name_destroy(lovname);
name_destroy(osdname);
name_destroy(mddname);
#include <linux/obd.h>
/* class_register_type(), class_unregister_type(), class_get_type() */
#include <linux/obd_class.h>
+#include <linux/lustre_disk.h>
#include "osd_internal.h"
static int osd_device_init(struct osd_device *d,
struct lu_device_type *t, struct lustre_cfg *cfg)
{
+ struct lustre_mount_info *lmi = NULL;
+ struct vfsmount *mnt = NULL;
+ char *disk = lustre_cfg_string(cfg, 0);
+ char *name = lustre_cfg_string(cfg, 1);
+
lu_device_init(&d->od_dt_dev.dd_lu_dev, t);
d->od_dt_dev.dd_lu_dev.ld_ops = &osd_lu_ops;
- /*
- * mount file system...
- */
+
+ if (!disk) {
+ CERROR("No obd device for OSD!\n");
+#if 1
+ } else {
+
+ lmi = server_get_mount(disk);
+ if (lmi) {
+ /* We already mounted in lustre_fill_super */
+ struct lustre_sb_info *lsi = s2lsi(lmi->lmi_sb);
+ struct lustre_disk_data *ldd = lsi->lsi_ldd;
+ struct lustre_mount_data *lmd = lsi->lsi_lmd;
+
+ CDEBUG(D_INFO, "%s info: device=%s,\n opts=%s,\n",
+ name, lmd->lmd_dev, ldd->ldd_mount_opts);
+ mnt = lmi->lmi_mnt;
+
+ } else {
+ CERROR("Cannot get mount info for %s!\n", disk);
+ }
+#endif
+ }
+ // to be continued...
+
+ if (lmi) {
+ server_put_mount(disk, mnt);
+ }
return 0;
}
}
} else
l = ERR_PTR(-ENOMEM);
+
return l;
}