*/
if (OBD_FAIL_CHECK_ORSET(h->th_fail_id, OBD_FAIL_ONCE))
RETURN(0);
+ if (unlikely(lustre_msg_get_opc(req->rq_reqmsg) == MDS_REINT &&
+ OBD_FAIL_CHECK(OBD_FAIL_MDS_REINT_MULTI_NET)))
+ RETURN(0);
rc = tgt_request_preprocess(tsi, h, req);
/* pack reply if reply format is fixed */
spin_lock(&exp->exp_lock);
exp->exp_sp_peer = req->rq_sp_from;
exp->exp_flvr = flvr;
+
+ /* when on mgs, if no restriction is set, or if client
+ * is loopback, allow any flavor */
+ if ((strcmp(exp->exp_obd->obd_type->typ_name,
+ LUSTRE_MGS_NAME) == 0) &&
+ (exp->exp_flvr.sf_rpc == SPTLRPC_FLVR_NULL ||
+ LNET_NETTYP(LNET_NIDNET(exp->exp_connection->c_peer.nid))
+ == LOLND))
+ exp->exp_flvr.sf_rpc = SPTLRPC_FLVR_ANY;
+
if (exp->exp_flvr.sf_rpc != SPTLRPC_FLVR_ANY &&
exp->exp_flvr.sf_rpc != req->rq_flvr.sf_rpc) {
CERROR("%s: unauthorized rpc flavor %x from %s, "