Whamcloud - gitweb
LU-6060 lnet: set downis to 1 if there's no NI for remote net 17/13417/3
authorLiang Zhen <liang.zhen@intel.com>
Thu, 15 Jan 2015 17:34:24 +0000 (09:34 -0800)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 19 Jan 2015 23:43:08 +0000 (23:43 +0000)
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 <liang.zhen@intel.com>
Change-Id: I7831e258d0098e2a4bee650e69bb4f1a12429f46
Reviewed-on: http://review.whamcloud.com/13417
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lnet/lnet/router.c

index edfa384..ddd83aa 100644 (file)
@@ -735,6 +735,11 @@ lnet_parse_rc_info(lnet_rc_data_t *rcd)
                        rte->lr_downis = 0;
                        continue;
                }
                        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 == 0 && rte->lr_hops == 1)
+                       down = 1;
+
                rte->lr_downis = down;
        }
 }
                rte->lr_downis = down;
        }
 }