net/smc: check for healthy link group resp. connections
If a problem for at least one connection of a link group is detected, the whole link group and all its connections are terminated. This patch adds a check for healthy link group when trying to reserve a work request, and checks for healthy connections before starting a tx worker. Signed-off-by: Ursula Braun <ubraun@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
732720fafd
commit
1a0a04c7a8
@@ -65,9 +65,14 @@ int smc_cdc_get_free_slot(struct smc_connection *conn,
|
||||
struct smc_cdc_tx_pend **pend)
|
||||
{
|
||||
struct smc_link *link = &conn->lgr->lnk[SMC_SINGLE_LINK];
|
||||
int rc;
|
||||
|
||||
return smc_wr_tx_get_free_slot(link, smc_cdc_tx_handler, wr_buf,
|
||||
(struct smc_wr_tx_pend_priv **)pend);
|
||||
rc = smc_wr_tx_get_free_slot(link, smc_cdc_tx_handler, wr_buf,
|
||||
(struct smc_wr_tx_pend_priv **)pend);
|
||||
if (!conn->alert_token_local)
|
||||
/* abnormal termination */
|
||||
rc = -EPIPE;
|
||||
return rc;
|
||||
}
|
||||
|
||||
static inline void smc_cdc_add_pending_send(struct smc_connection *conn,
|
||||
|
Reference in New Issue
Block a user