RETURN(-ENOMEM);
req_msp = lustre_msg_buf(req->rq_reqmsg, REQ_REC_OFF, sizeof(*req_msp));
- if (!req_msp)
+ if (!req_msp) {
+ ptlrpc_req_finished(req);
RETURN(-ENOMEM);
+ }
memcpy(req_msp, msp, sizeof(*req_msp));
ptlrpc_req_set_repsize(req, 2, rep_size);
+
rc = ptlrpc_queue_wait(req);
if (!rc) {
rep_msp = lustre_swab_repbuf(req, REPLY_REC_OFF,
RETURN(-ENOMEM);
req_mti = req_capsule_client_get(&req->rq_pill, &RMF_MGS_TARGET_INFO);
- memcpy(req_mti, mti, sizeof(*req_mti));
+ if (!req_mti) {
+ ptlrpc_req_finished(req);
+ RETURN(-ENOMEM);
+ }
+ memcpy(req_mti, mti, sizeof(*req_mti));
ptlrpc_request_set_replen(req);
-
CDEBUG(D_MGC, "register %s\n", mti->mti_svname);
rc = ptlrpc_queue_wait(req);
&llog_client_ops);
if (rc == 0) {
ctxt = llog_get_context(obd, LLOG_CONFIG_REPL_CTXT);
+ if (!ctxt) {
+ ctxt = llog_get_context(obd, LLOG_CONFIG_ORIG_CTXT);
+ if (ctxt)
+ llog_cleanup(ctxt);
+ RETURN(-ENODEV);
+ }
llog_initiator_connect(ctxt);
llog_ctxt_put(ctxt);
} else {
*/
if (rcl && cld->cld_is_sptlrpc)
goto out_pop;
-
+
/* Copy the setup log locally if we can. Don't mess around if we're
running an MGS though (logs are already local). */
if (lctxt && lsi && (lsi->lsi_flags & LSI_SERVER) &&