@@ -574,8 +574,8 @@ unsigned int lnet_nid_cpt_hash(struct lnet_nid *nid,
void lnet_mt_event_handler(struct lnet_event *event);
-int lnet_notify(struct lnet_ni *ni, lnet_nid_t peer, bool alive, bool reset,
- time64_t when);
+int lnet_notify(struct lnet_ni *ni, struct lnet_nid *peer, bool alive,
+ bool reset, time64_t when);
void lnet_notify_locked(struct lnet_peer_ni *lp, int notifylnd, int alive,
time64_t when);
int lnet_add_route(u32 net, u32 hops, struct lnet_nid *gateway,
@@ -1967,9 +1967,13 @@ static int kiblnd_map_tx(struct lnet_ni *ni, struct kib_tx *tx,
read_unlock_irqrestore(&kiblnd_data.kib_global_lock, flags);
- if (error)
- lnet_notify(peer_ni->ibp_ni,
- peer_ni->ibp_nid, false, false, last_alive);
+ if (error != 0) {
+ struct lnet_nid nid;
+
+ lnet_nid4_to_nid(peer_ni->ibp_nid, &nid);
+ lnet_notify(peer_ni->ibp_ni, &nid,
+ false, false, last_alive);
+ }
}
void
@@ -1424,7 +1424,7 @@ struct ksock_peer_ni *
if (notify)
lnet_notify(peer_ni->ksnp_ni,
- lnet_nid_to_nid4(&peer_ni->ksnp_id.nid),
+ &peer_ni->ksnp_id.nid,
false, false, last_alive);
}
@@ -4372,7 +4372,8 @@ u32 lnet_get_dlc_seq_locked(void)
* that deadline to the wall clock.
*/
deadline += ktime_get_seconds();
- return lnet_notify(NULL, data->ioc_nid, data->ioc_flags, false,
+ lnet_nid4_to_nid(data->ioc_nid, &nid);
+ return lnet_notify(NULL, &nid, data->ioc_flags, false,
deadline);
}
@@ -1672,26 +1672,25 @@ bool lnet_router_checker_active(void)
* when: notificaiton time.
*/
int
-lnet_notify(struct lnet_ni *ni, lnet_nid_t nid4, bool alive, bool reset,
+lnet_notify(struct lnet_ni *ni, struct lnet_nid *nid, bool alive, bool reset,
time64_t when)
{
struct lnet_peer_ni *lpni = NULL;
struct lnet_route *route;
struct lnet_peer *lp;
time64_t now = ktime_get_seconds();
- struct lnet_nid nid;
int cpt;
LASSERT(!in_interrupt());
CDEBUG(D_NET, "%s notifying %s: %s\n",
!ni ? "userspace" : libcfs_nidstr(&ni->ni_nid),
- libcfs_nidstr(&nid), alive ? "up" : "down");
+ libcfs_nidstr(nid), alive ? "up" : "down");
if (ni &&
- LNET_NID_NET(&ni->ni_nid) != LNET_NID_NET(&nid)) {
+ LNET_NID_NET(&ni->ni_nid) != LNET_NID_NET(nid)) {
CWARN("Ignoring notification of %s %s by %s (different net)\n",
- libcfs_nidstr(&nid), alive ? "birth" : "death",
+ libcfs_nidstr(nid), alive ? "birth" : "death",
libcfs_nidstr(&ni->ni_nid));
return -EINVAL;
}
@@ -1700,7 +1699,7 @@ bool lnet_router_checker_active(void)
if (when > now) {
CWARN("Ignoring prediction from %s of %s %s %lld seconds in the future\n",
ni ? libcfs_nidstr(&ni->ni_nid) : "userspace",
- libcfs_nidstr(&nid), alive ? "up" : "down", when - now);
+ libcfs_nidstr(nid), alive ? "up" : "down", when - now);
return -EINVAL;
}
@@ -1718,11 +1717,11 @@ bool lnet_router_checker_active(void)
return -ESHUTDOWN;
}
- lpni = lnet_peer_ni_find_locked(&nid);
+ lpni = lnet_peer_ni_find_locked(nid);
if (!lpni) {
/* nid not found */
lnet_net_unlock(0);
- CDEBUG(D_NET, "%s not found\n", libcfs_nidstr(&nid));
+ CDEBUG(D_NET, "%s not found\n", libcfs_nidstr(nid));
return 0;
}