Skip to content

Commit 12eebc4

Browse files
Bang NguyenJerry Snitselaar
authored andcommitted
rds: Fix regression in dynamic active bonding configuration
OraBug: 18481645 Commit 6cf7cc30 "rds: dynamic active bonding configuration" introduced a regression. Late joining IB interfaces were not configured correctly. When active bonding configuration shows both interfaces down, IP failover was not happening. This patch fixes this issue. Signed-off-by: Bang Nguyen <[email protected]> Signed-off-by: Ajaykumar Hotchandani <[email protected]> (cherry picked from commit 12755dbf7b4adc8ea2a935900b81c384731f6fff) Signed-off-by: Jerry Snitselaar <[email protected]>
1 parent 568407b commit 12eebc4

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

net/rds/ib.c

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1014,14 +1014,8 @@ static void rds_ib_failback(struct work_struct *_work)
10141014
u8 i, ip_active_port, port = work->port;
10151015

10161016
if (ip_config[port].port_state == RDS_IB_PORT_INIT) {
1017-
printk(KERN_NOTICE "RDS/IB: %s/port_%d/%s is ERROR\n",
1018-
ip_config[port].rds_ibdev->dev->name,
1019-
ip_config[port].port_num,
1020-
ip_config[port].if_name);
1021-
1022-
rds_ib_do_failover(port, 0, 0, work->event_type);
1023-
if (ip_config[port].ip_active_port != port)
1024-
ip_config[port].port_state = RDS_IB_PORT_DOWN;
1017+
ip_config[port].port_state = RDS_IB_PORT_UP;
1018+
ip_config[port].ip_active_port = port;
10251019
goto out;
10261020
}
10271021

@@ -1177,7 +1171,9 @@ static void rds_ib_dump_ip_config(void)
11771171
NIPQUAD(ip_config[i].ip_bcast),
11781172
NIPQUAD(ip_config[i].ip_mask),
11791173
(ip_config[i].port_state ==
1180-
RDS_IB_PORT_UP ? "UP" : "DOWN"));
1174+
RDS_IB_PORT_UP ? "UP" :
1175+
(ip_config[i].port_state ==
1176+
RDS_IB_PORT_DOWN ? "DOWN" : "INIT")));
11811177

11821178
for (j = 0; j < ip_config[i].alias_cnt; j++) {
11831179
printk(KERN_INFO "Alias %s "

0 commit comments

Comments
 (0)