From: Chris Horn Date: Thu, 11 Jul 2019 20:08:30 +0000 (-0500) Subject: LU-12441 lnet: Detach rspt when md_threshold is infinite X-Git-Tag: 2.12.57~50 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=ebbf909a1c2d0f5400da2d98e1bb274a9e82e0a5;p=fs%2Flustre-release.git LU-12441 lnet: Detach rspt when md_threshold is infinite MDs for pings use the infinite threshold on MD operations. As such they aren't normally unlinkable as determined by lnet_md_unlinkable(). We can cover this case by checking whether the refcount is zero and threshold is LNET_MD_THRESH_INF. Cray-bug-id: LUS-7366 Signed-off-by: Chris Horn Change-Id: I4b9499bc6327523f1e911ebc4514002511e42236 Reviewed-on: https://review.whamcloud.com/35452 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Alexandr Boyko Reviewed-by: Amir Shehata Reviewed-by: Oleg Drokin --- diff --git a/lnet/lnet/lib-msg.c b/lnet/lnet/lib-msg.c index 0c630f3..3fdc189 100644 --- a/lnet/lnet/lib-msg.c +++ b/lnet/lnet/lib-msg.c @@ -832,10 +832,12 @@ lnet_msg_detach_md(struct lnet_msg *msg, int cpt, int status) lnet_eq_enqueue_event(md->md_eq, &msg->msg_ev); } - if (unlink) { + if (unlink || (md->md_refcount == 0 && + md->md_threshold == LNET_MD_THRESH_INF)) lnet_detach_rsp_tracker(md, cpt); + + if (unlink) lnet_md_unlink(md); - } msg->msg_md = NULL; }