Commit 86a2b9cf authored by Veaceslav Falico's avatar Veaceslav Falico Committed by David S. Miller

bonding: ratelimit pr_warn()s in 802.3ad mode

Only ratelimit the ones that might spam, omiting the ones from
enslave/deslave.

CC: Jay Vosburgh <fubar@us.ibm.com>
CC: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: default avatarVeaceslav Falico <vfalico@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d37d8ac1
...@@ -1284,11 +1284,11 @@ static void ad_port_selection_logic(struct port *port) ...@@ -1284,11 +1284,11 @@ static void ad_port_selection_logic(struct port *port)
/* meaning: the port was related to an aggregator /* meaning: the port was related to an aggregator
* but was not on the aggregator port list * but was not on the aggregator port list
*/ */
pr_warn("%s: Warning: Port %d (on %s) was related to aggregator %d but was not on its port list\n", pr_warn_ratelimited("%s: Warning: Port %d (on %s) was related to aggregator %d but was not on its port list\n",
port->slave->bond->dev->name, port->slave->bond->dev->name,
port->actor_port_number, port->actor_port_number,
port->slave->dev->name, port->slave->dev->name,
port->aggregator->aggregator_identifier); port->aggregator->aggregator_identifier);
} }
} }
/* search on all aggregators for a suitable aggregator for this port */ /* search on all aggregators for a suitable aggregator for this port */
...@@ -1445,9 +1445,9 @@ static struct aggregator *ad_agg_selection_test(struct aggregator *best, ...@@ -1445,9 +1445,9 @@ static struct aggregator *ad_agg_selection_test(struct aggregator *best,
break; break;
default: default:
pr_warn("%s: Impossible agg select mode %d\n", pr_warn_ratelimited("%s: Impossible agg select mode %d\n",
curr->slave->bond->dev->name, curr->slave->bond->dev->name,
__get_agg_selection_mode(curr->lag_ports)); __get_agg_selection_mode(curr->lag_ports));
break; break;
} }
...@@ -1560,9 +1560,9 @@ static void ad_agg_selection_logic(struct aggregator *agg) ...@@ -1560,9 +1560,9 @@ static void ad_agg_selection_logic(struct aggregator *agg)
/* check if any partner replys */ /* check if any partner replys */
if (best->is_individual) { if (best->is_individual) {
pr_warn("%s: Warning: No 802.3ad response from the link partner for any adapters in the bond\n", pr_warn_ratelimited("%s: Warning: No 802.3ad response from the link partner for any adapters in the bond\n",
best->slave ? best->slave ?
best->slave->bond->dev->name : "NULL"); best->slave->bond->dev->name : "NULL");
} }
best->is_active = 1; best->is_active = 1;
...@@ -2081,8 +2081,8 @@ void bond_3ad_state_machine_handler(struct work_struct *work) ...@@ -2081,8 +2081,8 @@ void bond_3ad_state_machine_handler(struct work_struct *work)
/* select the active aggregator for the bond */ /* select the active aggregator for the bond */
if (port) { if (port) {
if (!port->slave) { if (!port->slave) {
pr_warn("%s: Warning: bond's first port is uninitialized\n", pr_warn_ratelimited("%s: Warning: bond's first port is uninitialized\n",
bond->dev->name); bond->dev->name);
goto re_arm; goto re_arm;
} }
...@@ -2096,8 +2096,8 @@ void bond_3ad_state_machine_handler(struct work_struct *work) ...@@ -2096,8 +2096,8 @@ void bond_3ad_state_machine_handler(struct work_struct *work)
bond_for_each_slave_rcu(bond, slave, iter) { bond_for_each_slave_rcu(bond, slave, iter) {
port = &(SLAVE_AD_INFO(slave).port); port = &(SLAVE_AD_INFO(slave).port);
if (!port->slave) { if (!port->slave) {
pr_warn("%s: Warning: Found an uninitialized port\n", pr_warn_ratelimited("%s: Warning: Found an uninitialized port\n",
bond->dev->name); bond->dev->name);
goto re_arm; goto re_arm;
} }
...@@ -2158,8 +2158,8 @@ static int bond_3ad_rx_indication(struct lacpdu *lacpdu, struct slave *slave, ...@@ -2158,8 +2158,8 @@ static int bond_3ad_rx_indication(struct lacpdu *lacpdu, struct slave *slave,
port = &(SLAVE_AD_INFO(slave).port); port = &(SLAVE_AD_INFO(slave).port);
if (!port->slave) { if (!port->slave) {
pr_warn("%s: Warning: port of slave %s is uninitialized\n", pr_warn_ratelimited("%s: Warning: port of slave %s is uninitialized\n",
slave->dev->name, slave->bond->dev->name); slave->dev->name, slave->bond->dev->name);
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment