From cf3cc2c72e6e6ee4a1d1f56c1b427b2279136416 Mon Sep 17 00:00:00 2001 From: Amir Shehata Date: Tue, 21 Aug 2018 12:15:30 -0700 Subject: [PATCH] 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 --- lnet/klnds/o2iblnd/o2iblnd_cb.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 -- 1.8.3.1