memset(conn->ibc_connvars, 0, sizeof(*conn->ibc_connvars));
write_lock_irqsave(glock, flags);
- i = 0;
- while (dev->ibd_failover) {
+ if (dev->ibd_failover) {
write_unlock_irqrestore(glock, flags);
- /* shouldn't take long time */
- if (i++ % 50 == 0)
- CDEBUG(D_NET, "Wait for dev(%s) failover\n", dev->ibd_ifname);
- cfs_schedule_timeout(CFS_TASK_UNINT, cfs_time_seconds(1) / 50);
- write_lock_irqsave(glock, flags);
+ CERROR("%s: failover in progress\n", dev->ibd_ifname);
+ goto failed_2;
}
if (dev->ibd_hdev->ibh_ibdev != cmid->device) {
struct sockaddr_in dstaddr;
int rc;
- if (dev->ibd_hdev == NULL || /* intializing */
+ if (dev->ibd_hdev == NULL || /* initializing */
dev->ibd_hdev->ibh_cmid == NULL || /* listener is dead */
*kiblnd_tunables.kib_dev_failover > 1) /* debugging */
return 1;
dev->ibd_ifip = ip;
strcpy(&dev->ibd_ifname[0], ifname);
- /* intialize the device */
+ /* initialize the device */
rc = kiblnd_dev_failover(dev);
if (rc != 0) {
CERROR("Can't initialize device: %d\n", rc);
Description: Downgrade RHEL5 kernel to 2.6.18-128.1.14.el5
Details : BoM needs 2.6.18-128.1.14.el5, so revert the patch from bug 20400
+Severity : normal
+Bugzilla : 22065
+Description: LNET hang
+Details : fix deadlock with ko2iblnd failover
+
-------------------------------------------------------------------------------
2009-10-16 Sun Microsystems, Inc.