From 9e2df7e5cc5fca3c60e048f3e4004fb8d10f03c1 Mon Sep 17 00:00:00 2001 From: Mr NeilBrown Date: Mon, 28 Jun 2021 15:29:38 +1000 Subject: [PATCH] LU-10391 lnet: change ni_status in lnet_ni to u32* struct lnet_ni.ni_status points to a 'struct lnet_ni_status', but only the ns_status field of that structure is ever accessed. Change ni_status to point directly to just the ns_status field. This will provide flexibility for introducing a variant for 'struct lnet_ni_status' which holds a large-address 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: I5570608e98bc2aa1156b8d885df2a56f8ae7b6f7 Reviewed-on: https://review.whamcloud.com/44626 Tested-by: jenkins Tested-by: Maloo Reviewed-by: James Simmons Tested-by: James Simmons Reviewed-by: Chris Horn Reviewed-by: Serguei Smirnov Reviewed-by: Oleg Drokin --- lnet/include/lnet/lib-lnet.h | 8 ++++---- lnet/include/lnet/lib-types.h | 2 +- lnet/lnet/api-ni.c | 2 +- lnet/lnet/router.c | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lnet/include/lnet/lib-lnet.h b/lnet/include/lnet/lib-lnet.h index aa3e10e..3fab690 100644 --- a/lnet/include/lnet/lib-lnet.h +++ b/lnet/include/lnet/lib-lnet.h @@ -232,11 +232,11 @@ __must_hold(&ni->ni_lock) { bool update = false; - if (ni->ni_status && ni->ni_status->ns_status != status) { + if (ni->ni_status && *ni->ni_status != status) { CDEBUG(D_NET, "ni %s status changed from %#x to %#x\n", libcfs_nidstr(&ni->ni_nid), - ni->ni_status->ns_status, status); - ni->ni_status->ns_status = status; + *ni->ni_status, status); + *ni->ni_status = status; update = true; } @@ -252,7 +252,7 @@ __must_hold(&ni->ni_lock) else if (atomic_read(&ni->ni_fatal_error_on)) return LNET_NI_STATUS_DOWN; else if (ni->ni_status) - return ni->ni_status->ns_status; + return *ni->ni_status; else return LNET_NI_STATUS_UP; } diff --git a/lnet/include/lnet/lib-types.h b/lnet/include/lnet/lib-types.h index 131890f..1d95275 100644 --- a/lnet/include/lnet/lib-types.h +++ b/lnet/include/lnet/lib-types.h @@ -492,7 +492,7 @@ struct lnet_ni { struct lnet_net *ni_net; /* my health status */ - struct lnet_ni_status *ni_status; + u32 *ni_status; /* NI FSM. Protected by lnet_ni_lock() */ enum lnet_ni_state ni_state; diff --git a/lnet/lnet/api-ni.c b/lnet/lnet/api-ni.c index d8922cc..67e20b1 100644 --- a/lnet/lnet/api-ni.c +++ b/lnet/lnet/api-ni.c @@ -2051,7 +2051,7 @@ lnet_ping_target_install_locked(struct lnet_ping_buffer *pbuf) lnet_ni_lock(ni); ns->ns_status = lnet_ni_get_status_locked(ni); - ni->ni_status = ns; + ni->ni_status = &ns->ns_status; lnet_ni_unlock(ni); i++; diff --git a/lnet/lnet/router.c b/lnet/lnet/router.c index 28b64ff..6bbcd34 100644 --- a/lnet/lnet/router.c +++ b/lnet/lnet/router.c @@ -1106,7 +1106,7 @@ check_ni_fatal: */ if (atomic_read(&ni->ni_fatal_error_on) && ni->ni_status && - ni->ni_status->ns_status != LNET_NI_STATUS_DOWN && + *ni->ni_status != LNET_NI_STATUS_DOWN && lnet_ni_set_status(ni, LNET_NI_STATUS_DOWN)) push = true; } -- 1.8.3.1