Whamcloud - gitweb
LU-12381 ko2iblnd: ignore down interfaces 49/35249/2
authorJames Simmons <uja.ornl@yahoo.com>
Mon, 17 Jun 2019 19:25:48 +0000 (12:25 -0700)
committerOleg Drokin <green@whamcloud.com>
Wed, 3 Jul 2019 03:25:52 +0000 (03:25 +0000)
The for_each_netdev() loop in kiblnd_create_dev() scans for all
network devices on a system. Currently the code exit when an
network device is down but the device could be something besides
an IB device. Instead of exiting just ignore any device that is
down.

This patch is back-ported from the following one:
Lustre-commit: 1dea5aac9d9be99c4b317a491f308872b97bf0e6
Lustre-change: https://review.whamcloud.com/35098

Test-Parameters: trivial

Fixes: c4b39bf56bbc ("LU-11893 o2iblnd: add secondary IP address handling")
Change-Id: I0a3bf808d849cd00711b6ef2e4e5bbd876b64903
Signed-off-by: James Simmons <uja.ornl@yahoo.com>
Reviewed-by: Chris Horn <hornc@cray.com>
Reviewed-by: Amir Shehata <ashehata@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/35249
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/klnds/o2iblnd/o2iblnd.c

index 3a21fde..b42af07 100644 (file)
@@ -2882,16 +2882,16 @@ kiblnd_create_dev(char *ifname)
 
                flags = dev_get_flags(netdev);
                if (!(flags & IFF_UP)) {
-                       CERROR("Can't query IPoIB interface %s: it's down\n",
-                              netdev->name);
-                       goto unlock;
+                       CWARN("Can't query IPoIB interface %s: it's down\n",
+                             netdev->name);
+                       continue;
                }
 
                in_dev = __in_dev_get_rtnl(netdev);
                if (!in_dev) {
                        CWARN("Interface %s has no IPv4 status.\n",
                              netdev->name);
-                       goto unlock;
+                       continue;
                }
 
                for_ifa(in_dev)