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.
Signed-off-by: Chris Horn <hornc@cray.com>
Signed-off-by: Amir Shehata <ashehata@whamcloud.com>
Change-Id: Ib51f84d85005dd2d13dadca059a1d6c42ff3bf59
Reviewed-on: https://review.whamcloud.com/36634
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Serguei Smirnov <ssmirnov@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
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;
}