In lnet_discover_peer_locked() avoid a leaked reference to the peer in
the non-blocking discovery case.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ic48414859c923af1ebb197b0b0f2f8d6752043ac
Reviewed-on: https://review.whamcloud.com/28695
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Olaf Weber <olaf.weber@hpe.com>
Reviewed-by: Quentin Bouget <quentin.bouget@cea.fr>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
if (lnet_peer_is_uptodate(lp))
break;
lnet_peer_queue_for_discovery(lp);
- lnet_peer_addref_locked(lp);
/*
* if caller requested a non-blocking operation then
* return immediately. Once discovery is complete then the
*/
if (!block)
break;
+
+ lnet_peer_addref_locked(lp);
lnet_net_unlock(LNET_LOCK_EX);
schedule();
finish_wait(&lp->lp_dc_waitq, &wait);