From 95bcc24642c4b95d093407fef0947ee2f5a2c01a Mon Sep 17 00:00:00 2001 From: Chris Horn Date: Mon, 27 Apr 2020 10:07:21 -0500 Subject: [PATCH] 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: Chris Horn Change-Id: Ia17b9b4b54fd1063c42a6f8bdd0e593be1086683 Reviewed-on: https://review.whamcloud.com/38388 Reviewed-by: Serguei Smirnov Reviewed-by: Andreas Dilger Tested-by: jenkins Tested-by: Maloo --- lustre/mgc/mgc_request.c | 2 +- lustre/target/tgt_handler.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lustre/mgc/mgc_request.c b/lustre/mgc/mgc_request.c index f5734a0..ab709dd 100644 --- a/lustre/mgc/mgc_request.c +++ b/lustre/mgc/mgc_request.c @@ -1608,7 +1608,7 @@ static int mgc_process_recover_nodemap_log(struct obd_device *obd, mgc_conn = class_exp2cliimp(cld->cld_mgcexp)->imp_connection; /* 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); /* allocate buffer for bulk transfer. diff --git a/lustre/target/tgt_handler.c b/lustre/target/tgt_handler.c index c9a57bb..be4afa0 100644 --- a/lustre/target/tgt_handler.c +++ b/lustre/target/tgt_handler.c @@ -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_flvr = flvr; - /* when on mgs, if no restriction is set, or if client - * is loopback, allow any flavor */ + /* when on mgs, if no restriction is set, or if the client + * NID is on the local node, allow any flavor + */ if ((strcmp(exp->exp_obd->obd_type->typ_name, LUSTRE_MGS_NAME) == 0) && (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; if (exp->exp_flvr.sf_rpc != SPTLRPC_FLVR_ANY && -- 1.8.3.1