Commit 95bcc246 authored by Chris Horn's avatar Chris Horn Committed by Oleg Drokin
Browse files

LU-12222 ptlrpc: Check if NID is local, not just lolnd NID



There's a couple places where we check whether a NID is the lolnd NID
but we really want to know whether the NID is local. Use
LNetIsPeerLocal() to accomplish this.
Signed-off-by: default avatarChris Horn <hornc@cray.com>
Change-Id: Ia17b9b4b54fd1063c42a6f8bdd0e593be1086683
Reviewed-on: https://review.whamcloud.com/38388

Reviewed-by: default avatarSerguei Smirnov <ssmirnov@whamcloud.com>
Reviewed-by: default avatarAndreas Dilger <adilger@whamcloud.com>
Tested-by: default avatarjenkins <devops@whamcloud.com>
Tested-by: default avatarMaloo <maloo@whamcloud.com>
parent b832fb34
...@@ -1608,7 +1608,7 @@ static int mgc_process_recover_nodemap_log(struct obd_device *obd, ...@@ -1608,7 +1608,7 @@ static int mgc_process_recover_nodemap_log(struct obd_device *obd,
mgc_conn = class_exp2cliimp(cld->cld_mgcexp)->imp_connection; mgc_conn = class_exp2cliimp(cld->cld_mgcexp)->imp_connection;
/* don't need to get local config */ /* don't need to get local config */
if (cld_is_nodemap(cld) && (mgc_conn->c_peer.nid == LNET_NID_LO_0)) if (cld_is_nodemap(cld) && LNetIsPeerLocal(mgc_conn->c_peer.nid))
GOTO(out, rc = 0); GOTO(out, rc = 0);
/* allocate buffer for bulk transfer. /* allocate buffer for bulk transfer.
......
...@@ -915,12 +915,13 @@ int tgt_connect_check_sptlrpc(struct ptlrpc_request *req, struct obd_export *exp ...@@ -915,12 +915,13 @@ int tgt_connect_check_sptlrpc(struct ptlrpc_request *req, struct obd_export *exp
exp->exp_sp_peer = req->rq_sp_from; exp->exp_sp_peer = req->rq_sp_from;
exp->exp_flvr = flvr; exp->exp_flvr = flvr;
/* when on mgs, if no restriction is set, or if client /* when on mgs, if no restriction is set, or if the client
* is loopback, allow any flavor */ * NID is on the local node, allow any flavor
*/
if ((strcmp(exp->exp_obd->obd_type->typ_name, if ((strcmp(exp->exp_obd->obd_type->typ_name,
LUSTRE_MGS_NAME) == 0) && LUSTRE_MGS_NAME) == 0) &&
(exp->exp_flvr.sf_rpc == SPTLRPC_FLVR_NULL || (exp->exp_flvr.sf_rpc == SPTLRPC_FLVR_NULL ||
exp->exp_connection->c_peer.nid == LNET_NID_LO_0)) LNetIsPeerLocal(exp->exp_connection->c_peer.nid)))
exp->exp_flvr.sf_rpc = SPTLRPC_FLVR_ANY; exp->exp_flvr.sf_rpc = SPTLRPC_FLVR_ANY;
if (exp->exp_flvr.sf_rpc != SPTLRPC_FLVR_ANY && if (exp->exp_flvr.sf_rpc != SPTLRPC_FLVR_ANY &&
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment