Details
-
Bug
-
Resolution: Duplicate
-
Blocker
-
None
-
Lustre 2.13.0
-
None
-
3
-
9223372036854775807
Description
Landing upstream code related to interface scan broke a starting lustre in case one or more interfaces in down.
[ 2969.530212] LNetError: 15492:0:(o2iblnd.c:2892:kiblnd_create_dev()) Can’t query IPoIB interface eth2: it’s down
attached fix works for me.
diff --git a/lnet/klnds/o2iblnd/o2iblnd.c b/lnet/klnds/o2iblnd/o2iblnd.c index 6da280e..f831a46 100644 --- a/lnet/klnds/o2iblnd/o2iblnd.c +++ b/lnet/klnds/o2iblnd/o2iblnd.c @@ -2888,16 +2888,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", + CWARN("Can't query IPoIB interface %s: it's down\n", netdev->name); - goto unlock; + 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) @@ -2916,6 +2916,7 @@ kiblnd_create_dev(char *ifname) } endfor_ifa(in_dev); } +unlock: rtnl_unlock(); if (!dev) { @@ -2938,8 +2939,7 @@ kiblnd_create_dev(char *ifname) list_add_tail(&dev->ibd_list, &kiblnd_data.kib_devs); return dev; -unlock: - rtnl_unlock(); + free_dev: LIBCFS_FREE(dev, sizeof(*dev)); return NULL;
Attachments
Issue Links
- duplicates
-
LU-12381 o2iblnd uses wrong IB interface
- Resolved