* splitting then we need to protect it from any type of access
* (lookup/modify/split) - LCK_EX --bzzz
*/
-
+
LASSERT(lh->mlh_reg_mode != LCK_MINMODE);
LASSERT(lh->mlh_pdo_mode == LCK_MINMODE);
- /*
+ /*
* No pdo locks possible on not existing objects, because pdo lock is
* taken on parent dir and parent can't be absent.
*/
ENTRY;
LASSERT(o != NULL);
-
+
repbody = req_capsule_server_get(pill, &RMF_MDT_BODY);
/*
/* Make sure we have at least one entry. */
if (size == 0)
RETURN(-EINVAL);
-
+
/*
* Disable trans for this name insert, since it will include many trans
* for this.
OBD_ALLOC(name, le16_to_cpu(ent->lde_namelen) + 1);
if (name == NULL)
GOTO(out, rc = -ENOMEM);
-
+
memcpy(name, ent->lde_name, le16_to_cpu(ent->lde_namelen));
rc = mdo_name_insert(info->mti_env,
md_object_next(&object->mot_obj),
/* No PDO lock on remote object */
LASSERT(lh->mlh_type != MDT_PDO_LOCK);
} else if (exist == 0 && lh->mlh_type == MDT_PDO_LOCK) {
- /*
+ /*
* No PDO lock on non-existing object.
* This may happen on removed $PWD on client.
*/
mdt_fid_unlock(&lh->mlh_pdo_lh, lh->mlh_pdo_mode);
lh->mlh_pdo_lh.cookie = 0ull;
}
-
+
RETURN(rc);
}
}
lh->mlh_reg_lh.cookie = 0;
}
-
+
EXIT;
}
/* If we're DISCONNECTing, the mdt_export_data is already freed */
if (rc == 0 && h->mh_opc != MDS_DISCONNECT)
target_committed_to_req(req);
-
+
if ((lustre_msg_get_flags(req->rq_reqmsg) & MSG_REPLAY) &&
lustre_msg_get_transno(req->rq_reqmsg) == 0) {
DEBUG_REQ(D_ERROR, req, "transno is 0 during REPLAY\n");
{
int rc;
static struct ptlrpc_service_conf conf;
+ cfs_proc_dir_entry_t *procfs_entry;
ENTRY;
+ procfs_entry = m->mdt_md_dev.md_lu_dev.ld_obd->obd_proc_entry;
+
conf = (typeof(conf)) {
.psc_nbufs = MDS_NBUFS,
.psc_bufsize = MDS_BUFSIZE,
m->mdt_regular_service =
ptlrpc_init_svc_conf(&conf, mdt_regular_handle, LUSTRE_MDT_NAME,
- m->mdt_md_dev.md_lu_dev.ld_proc_entry,
- NULL);
+ procfs_entry, NULL);
if (m->mdt_regular_service == NULL)
RETURN(-ENOMEM);
m->mdt_readpage_service =
ptlrpc_init_svc_conf(&conf, mdt_readpage_handle,
LUSTRE_MDT_NAME "_readpage",
- m->mdt_md_dev.md_lu_dev.ld_proc_entry,
- NULL);
+ procfs_entry, NULL);
if (m->mdt_readpage_service == NULL) {
CERROR("failed to start readpage service\n");
m->mdt_setattr_service =
ptlrpc_init_svc_conf(&conf, mdt_regular_handle,
LUSTRE_MDT_NAME "_setattr",
- m->mdt_md_dev.md_lu_dev.ld_proc_entry,
- NULL);
+ procfs_entry, NULL);
if (!m->mdt_setattr_service) {
CERROR("failed to start setattr service\n");
m->mdt_mdsc_service =
ptlrpc_init_svc_conf(&conf, mdt_mdsc_handle,
LUSTRE_MDT_NAME"_mdsc",
- m->mdt_md_dev.md_lu_dev.ld_proc_entry,
- NULL);
+ procfs_entry, NULL);
if (!m->mdt_mdsc_service) {
CERROR("failed to start seq controller service\n");
GOTO(err_mdt_svc, rc = -ENOMEM);
m->mdt_mdss_service =
ptlrpc_init_svc_conf(&conf, mdt_mdss_handle,
LUSTRE_MDT_NAME"_mdss",
- m->mdt_md_dev.md_lu_dev.ld_proc_entry,
- NULL);
+ procfs_entry, NULL);
if (!m->mdt_mdss_service) {
CERROR("failed to start metadata seq server service\n");
GOTO(err_mdt_svc, rc = -ENOMEM);
m->mdt_dtss_service =
ptlrpc_init_svc_conf(&conf, mdt_dtss_handle,
LUSTRE_MDT_NAME"_dtss",
- m->mdt_md_dev.md_lu_dev.ld_proc_entry,
- NULL);
+ procfs_entry, NULL);
if (!m->mdt_dtss_service) {
CERROR("failed to start data seq server service\n");
GOTO(err_mdt_svc, rc = -ENOMEM);
m->mdt_fld_service =
ptlrpc_init_svc_conf(&conf, mdt_fld_handle,
LUSTRE_MDT_NAME"_fld",
- m->mdt_md_dev.md_lu_dev.ld_proc_entry,
- NULL);
+ procfs_entry, NULL);
if (!m->mdt_fld_service) {
CERROR("failed to start fld service\n");
GOTO(err_mdt_svc, rc = -ENOMEM);
CERROR("can't init lprocfs, rc %d\n", rc);
GOTO(err_fini_site, rc);
}
+ ptlrpc_lprocfs_register_obd(obd);
/* set server index */
LASSERT(num);
rc = next->ld_ops->ldo_process_config(env, next, cfg);
if (rc)
CERROR("Can't add mdc, rc %d\n", rc);
- else
+ else
rc = mdt_seq_init_cli(env, mdt_dev(d), cfg);
break;
default: