Whamcloud - gitweb
LU-10819 o2ib: use splice in kiblnd_peer_connect_failed() 43/31643/2
authorJohn L. Hammond <john.hammond@intel.com>
Wed, 14 Mar 2018 17:12:06 +0000 (12:12 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 9 Apr 2018 19:50:23 +0000 (19:50 +0000)
In kiblnd_peer_connect_failed() replace a backwards list_add() and
list_del() with list_splice_init().

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ib00d5d911d1070b6c8b49f14a2c7fc3552da553c
Reviewed-on: https://review.whamcloud.com/31643
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Doug Oucharek <dougso@me.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lnet/klnds/o2iblnd/o2iblnd_cb.c

index cf753dd..cd22264 100644 (file)
@@ -2168,8 +2168,7 @@ kiblnd_peer_connect_failed(kib_peer_ni_t *peer_ni, int active, int error)
        peer_ni->ibp_reconnected = 0;
        if (list_empty(&peer_ni->ibp_conns)) {
                /* Take peer_ni's blocked transmits to complete with error */
-               list_add(&zombies, &peer_ni->ibp_tx_queue);
-               list_del_init(&peer_ni->ibp_tx_queue);
+               list_splice_init(&peer_ni->ibp_tx_queue, &zombies);
 
                if (kiblnd_peer_active(peer_ni))
                        kiblnd_unlink_peer_locked(peer_ni);