From e816f2352862db069c147d739b934a9544584ac9 Mon Sep 17 00:00:00 2001 From: Liang Zhen Date: Wed, 2 Mar 2016 17:01:44 -0500 Subject: staging: lustre: set downis to 1 if there's no NI for remote net lnet_route_t::lr_downis is marked as zero even if there is no NI to target network, this is wrong and breaks logic of ARF. This patch fixes this problem. Signed-off-by: Liang Zhen Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-6060 Reviewed-on: http://review.whamcloud.com/13417 Reviewed-by: James Simmons Reviewed-by: Oleg Drokin Signed-off-by: Greg Kroah-Hartman diff --git a/drivers/staging/lustre/lnet/lnet/router.c b/drivers/staging/lustre/lnet/lnet/router.c index 5e8b0ba..2eae8f6 100644 --- a/drivers/staging/lustre/lnet/lnet/router.c +++ b/drivers/staging/lustre/lnet/lnet/router.c @@ -718,6 +718,13 @@ lnet_parse_rc_info(lnet_rc_data_t *rcd) rte->lr_downis = 0; continue; } + /** + * if @down is zero and this route is single-hop, it means + * we can't find NI for target network + */ + if (!down && rte->lr_hops == 1) + down = 1; + rte->lr_downis = down; } } -- cgit v0.10.2