From: Amir Shehata Date: Tue, 21 Aug 2018 19:15:30 +0000 (-0700) Subject: LU-11271 lnd: conditionally set health status X-Git-Tag: 2.11.55~24 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=cf3cc2c72e6e6ee4a1d1f56c1b427b2279136416;p=fs%2Flustre-release.git LU-11271 lnd: conditionally set health status For specific error scenarios a more accurate health status is set per transmit. These shouldn't be overwritten in kiblnd_txlist_done() Test-Parameters: trivial Signed-off-by: Amir Shehata Change-Id: I6c3ad6660aa654d32e823b29ebe3aedb9fc5508e Reviewed-on: https://review.whamcloud.com/33042 Tested-by: Jenkins Reviewed-by: Olaf Weber Reviewed-by: Sonia Sharma Reviewed-by: James Simmons Tested-by: Maloo Reviewed-by: Oleg Drokin --- diff --git a/lnet/klnds/o2iblnd/o2iblnd_cb.c b/lnet/klnds/o2iblnd/o2iblnd_cb.c index 65eb85e..a6e06e6 100644 --- a/lnet/klnds/o2iblnd/o2iblnd_cb.c +++ b/lnet/klnds/o2iblnd/o2iblnd_cb.c @@ -107,7 +107,8 @@ kiblnd_txlist_done(struct list_head *txlist, int status, /* complete now */ tx->tx_waiting = 0; tx->tx_status = status; - tx->tx_hstatus = hstatus; + if (hstatus != LNET_MSG_STATUS_OK) + tx->tx_hstatus = hstatus; kiblnd_tx_done(tx); } } @@ -2177,9 +2178,11 @@ kiblnd_abort_txs(struct kib_conn *conn, struct list_head *txs) /* * aborting transmits occurs when finalizing the connection. - * The connection is finalized on error + * The connection is finalized on error. + * Passing LNET_MSG_STATUS_OK to txlist_done() will not + * override the value already set in tx->tx_hstatus above. */ - kiblnd_txlist_done(&zombies, -ECONNABORTED, -1); + kiblnd_txlist_done(&zombies, -ECONNABORTED, LNET_MSG_STATUS_OK); } static void