X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lnet%2Fklnds%2Fgnilnd%2Fgnilnd.c;h=1a2867e81458c908f4b52d9a1732f471fc21c571;hp=51f98e962a73d8c21f93ae9c2fd26e7273ba11d7;hb=8f4d61088cbd0e5b7cfbaac3d6291902fa0ce8a8;hpb=a3b30423c6067b3e8644ecfb3269f8837af7e4cd;ds=inline diff --git a/lnet/klnds/gnilnd/gnilnd.c b/lnet/klnds/gnilnd/gnilnd.c index 51f98e9..1a2867e 100644 --- a/lnet/klnds/gnilnd/gnilnd.c +++ b/lnet/klnds/gnilnd/gnilnd.c @@ -1593,19 +1593,14 @@ kgnilnd_del_conn_or_peer(kgn_net_t *net, lnet_nid_t nid, int command, return rc; } - i = 4; - while (atomic_read(&kgnilnd_data.kgn_npending_conns) || - atomic_read(&kgnilnd_data.kgn_npending_detach) || - atomic_read(&kgnilnd_data.kgn_npending_unlink)) { - - schedule_timeout_uninterruptible(cfs_time_seconds(1)); - i++; - - CDEBUG(((i & (-i)) == i) ? D_WARNING : D_NET, "Waiting on %d peers %d closes %d detaches\n", + wait_var_event_warning(&kgnilnd_data, + !atomic_read(&kgnilnd_data.kgn_npending_conns) && + !atomic_read(&kgnilnd_data.kgn_npending_detach) && + !atomic_read(&kgnilnd_data.kgn_npending_unlink), + "Waiting on %d peers %d closes %d detaches\n", atomic_read(&kgnilnd_data.kgn_npending_unlink), atomic_read(&kgnilnd_data.kgn_npending_conns), atomic_read(&kgnilnd_data.kgn_npending_detach)); - } return rc; }