From cbfbe6d132c6d0fe5c53118c792d9924b1bfb58e Mon Sep 17 00:00:00 2001 From: Mr NeilBrown Date: Mon, 10 Oct 2022 18:53:22 -0400 Subject: [PATCH 1/1] LU-10391 lnet: discard lnet_nid2ni_*() These 'struct lnet_ni' lookup functions which take a nid4, are discarded in favour of the versions which take a 'struct lnet_nid'. Test-Parameters: trivial testlist=sanity-lnet Test-Parameters: serverversion=2.12 serverdistro=el7.9 testlist=runtests Test-Parameters: clientversion=2.12 testlist=runtests Signed-off-by: Mr NeilBrown Change-Id: I4f4cb154e7778ac5b68cec3a40fc0d9a8a1db480 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/44634 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Serguei Smirnov Reviewed-by: Frank Sehr Reviewed-by: Oleg Drokin Reviewed-by: James Simmons --- lnet/include/lnet/lib-lnet.h | 2 -- lnet/klnds/o2iblnd/o2iblnd_cb.c | 10 ++++++---- lnet/lnet/api-ni.c | 33 +++------------------------------ 3 files changed, 9 insertions(+), 36 deletions(-) diff --git a/lnet/include/lnet/lib-lnet.h b/lnet/include/lnet/lib-lnet.h index 39af59d..109b1c8 100644 --- a/lnet/include/lnet/lib-lnet.h +++ b/lnet/include/lnet/lib-lnet.h @@ -590,9 +590,7 @@ extern unsigned int lnet_nid_cpt_hash(struct lnet_nid *nid, extern int lnet_cpt_of_nid_locked(struct lnet_nid *nid, struct lnet_ni *ni); extern int lnet_cpt_of_nid(lnet_nid_t nid, struct lnet_ni *ni); extern int lnet_nid2cpt(struct lnet_nid *nid, struct lnet_ni *ni); -extern struct lnet_ni *lnet_nid2ni_locked(lnet_nid_t nid, int cpt); extern struct lnet_ni *lnet_nid_to_ni_locked(struct lnet_nid *nid, int cpt); -extern struct lnet_ni *lnet_nid2ni_addref(lnet_nid_t nid); extern struct lnet_ni *lnet_net2ni_locked(__u32 net, int cpt); extern struct lnet_ni *lnet_net2ni_addref(__u32 net); extern struct lnet_ni *lnet_nid_to_ni_addref(struct lnet_nid *nid); diff --git a/lnet/klnds/o2iblnd/o2iblnd_cb.c b/lnet/klnds/o2iblnd/o2iblnd_cb.c index fbe7536..4ffe228 100644 --- a/lnet/klnds/o2iblnd/o2iblnd_cb.c +++ b/lnet/klnds/o2iblnd/o2iblnd_cb.c @@ -2505,6 +2505,7 @@ kiblnd_passive_connect(struct rdma_cm_id *cmid, void *priv, int priv_nob) struct kib_conn *conn; struct lnet_ni *ni = NULL; struct kib_net *net = NULL; + struct lnet_nid destnid; lnet_nid_t nid; struct rdma_conn_param cp; struct kib_rej rej; @@ -2562,7 +2563,8 @@ kiblnd_passive_connect(struct rdma_cm_id *cmid, void *priv, int priv_nob) } nid = reqmsg->ibm_srcnid; - ni = lnet_nid2ni_addref(reqmsg->ibm_dstnid); + lnet_nid4_to_nid(reqmsg->ibm_dstnid, &destnid); + ni = lnet_nid_to_ni_addref(&destnid); if (ni != NULL) { net = (struct kib_net *)ni->ni_data; @@ -2570,10 +2572,10 @@ kiblnd_passive_connect(struct rdma_cm_id *cmid, void *priv, int priv_nob) } if (ni == NULL || /* no matching net */ - lnet_nid_to_nid4(&ni->ni_nid) != - reqmsg->ibm_dstnid || /* right NET, wrong NID! */ + !nid_same(&ni->ni_nid, &destnid) || /* right NET, wrong NID! */ net->ibn_dev != ibdev) { /* wrong device */ - CERROR("Can't accept conn from %s on %s (%s:%d:%pI4h): bad dst nid %s\n", libcfs_nid2str(nid), + CERROR("Can't accept conn from %s on %s (%s:%d:%pI4h): bad dst nid %s\n", + libcfs_nid2str(nid), ni ? libcfs_nidstr(&ni->ni_nid) : "NA", ibdev->ibd_ifname, ibdev->ibd_nnets, &ibdev->ibd_ifip, diff --git a/lnet/lnet/api-ni.c b/lnet/lnet/api-ni.c index 6e0a99e..5518b70 100644 --- a/lnet/lnet/api-ni.c +++ b/lnet/lnet/api-ni.c @@ -1738,33 +1738,6 @@ lnet_nid_to_ni_locked(struct lnet_nid *nid, int cpt) return NULL; } -struct lnet_ni * -lnet_nid2ni_locked(lnet_nid_t nid4, int cpt) -{ - struct lnet_nid nid; - - lnet_nid4_to_nid(nid4, &nid); - return lnet_nid_to_ni_locked(&nid, cpt); -} - -struct lnet_ni * -lnet_nid2ni_addref(lnet_nid_t nid4) -{ - struct lnet_ni *ni; - struct lnet_nid nid; - - lnet_nid4_to_nid(nid4, &nid); - - lnet_net_lock(0); - ni = lnet_nid_to_ni_locked(&nid, 0); - if (ni) - lnet_ni_addref_locked(ni, 0); - lnet_net_unlock(0); - - return ni; -} -EXPORT_SYMBOL(lnet_nid2ni_addref); - struct lnet_ni * lnet_nid_to_ni_addref(struct lnet_nid *nid) { @@ -4004,11 +3977,11 @@ lnet_get_local_ni_hstats(struct lnet_ioctl_local_ni_hstats *stats) { int cpt, rc = 0; struct lnet_ni *ni; - lnet_nid_t nid = stats->hlni_nid; + struct lnet_nid nid; + lnet_nid4_to_nid(stats->hlni_nid, &nid); cpt = lnet_net_lock_current(); - ni = lnet_nid2ni_locked(nid, cpt); - + ni = lnet_nid_to_ni_locked(&nid, cpt); if (!ni) { rc = -ENOENT; goto unlock; -- 1.8.3.1