LASSERT (page != NULL);
return page;
}
-#if CONFIG_HIGHMEM
+#ifdef CONFIG_HIGHMEM
if (vaddr >= PKMAP_BASE &&
vaddr < (PKMAP_BASE + LAST_PKMAP * PAGE_SIZE)) {
/* No highmem pages only used for bulk (kiov) I/O */
if (conn->ibc_version == IBNAL_MSG_VERSION_RDMAREPLYNOTRSRVD) {
/* Can't block if RDMA completions need normal credits */
- LCONSOLE_ERROR(0x129, "Dropping message from %s: no buffers "
- " free. %s is running an old version of LNET "
- "that may deadlock if messages wait for buffers)"
- "\n", libcfs_nid2str(conn->ibc_peer->ibp_nid),
- libcfs_nid2str(conn->ibc_peer->ibp_nid));
+ LCONSOLE_ERROR_MSG(0x129, "Dropping message from %s: no buffers"
+ " free. %s is running an old version of LNET "
+ "that may deadlock if messages wait for"
+ "buffers) \n",
+ libcfs_nid2str(conn->ibc_peer->ibp_nid),
+ libcfs_nid2str(conn->ibc_peer->ibp_nid));
return -EDEADLK;
}
break;
}
- kibnal_peer_connect_failed(conn->ibc_peer, active, status);
+ kibnal_peer_connect_failed(peer, active, status);
kibnal_conn_disconnected(conn);
return;
}
* peer instance... */
kibnal_conn_addref(conn); /* +1 ref for ibc_list */
list_add(&conn->ibc_list, &peer->ibp_conns);
- kibnal_close_stale_conns_locked (conn->ibc_peer,
- conn->ibc_incarnation);
+ kibnal_close_stale_conns_locked (peer, conn->ibc_incarnation);
if (!kibnal_peer_active(peer) || /* peer has been deleted */
conn->ibc_comms_error != 0 || /* comms error */
write_lock_irqsave(g_lock, flags);
+ if (kibnal_data.kib_listen_handle == NULL) {
+ write_unlock_irqrestore(g_lock, flags);
+
+ CWARN ("Shutdown has started, rejecting connreq from %s\n",
+ libcfs_nid2str(rxmsg.ibm_srcnid));
+ kibnal_peer_decref(peer);
+ reason = IBNAL_REJECT_FATAL;
+ goto reject;
+ }
+
peer2 = kibnal_find_peer_locked(rxmsg.ibm_srcnid);
if (peer2 != NULL) {
/* tie-break connection race in favour of the higher NID */