mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-18 11:54:37 +08:00
bonding: remove bond_prev_slave()
We don't really need it, and it's really hard to RCUify the list->prev. CC: Jay Vosburgh <fubar@us.ibm.com> CC: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Veaceslav Falico <vfalico@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5a52405a30
commit
c8c23903f1
@ -1255,7 +1255,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
|
|||||||
{
|
{
|
||||||
struct bonding *bond = netdev_priv(bond_dev);
|
struct bonding *bond = netdev_priv(bond_dev);
|
||||||
const struct net_device_ops *slave_ops = slave_dev->netdev_ops;
|
const struct net_device_ops *slave_ops = slave_dev->netdev_ops;
|
||||||
struct slave *new_slave = NULL;
|
struct slave *new_slave = NULL, *prev_slave;
|
||||||
struct sockaddr addr;
|
struct sockaddr addr;
|
||||||
int link_reporting;
|
int link_reporting;
|
||||||
int res = 0, i;
|
int res = 0, i;
|
||||||
@ -1472,6 +1472,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
|
|||||||
|
|
||||||
write_lock_bh(&bond->lock);
|
write_lock_bh(&bond->lock);
|
||||||
|
|
||||||
|
prev_slave = bond_last_slave(bond);
|
||||||
bond_attach_slave(bond, new_slave);
|
bond_attach_slave(bond, new_slave);
|
||||||
|
|
||||||
new_slave->delay = 0;
|
new_slave->delay = 0;
|
||||||
@ -1566,9 +1567,6 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
|
|||||||
*/
|
*/
|
||||||
bond_3ad_initialize(bond, 1000/AD_TIMER_INTERVAL);
|
bond_3ad_initialize(bond, 1000/AD_TIMER_INTERVAL);
|
||||||
} else {
|
} else {
|
||||||
struct slave *prev_slave;
|
|
||||||
|
|
||||||
prev_slave = bond_prev_slave(bond, new_slave);
|
|
||||||
SLAVE_AD_INFO(new_slave).id =
|
SLAVE_AD_INFO(new_slave).id =
|
||||||
SLAVE_AD_INFO(prev_slave).id + 1;
|
SLAVE_AD_INFO(prev_slave).id + 1;
|
||||||
}
|
}
|
||||||
@ -3506,9 +3504,8 @@ static int bond_change_mtu(struct net_device *bond_dev, int new_mtu)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
bond_for_each_slave(bond, slave, iter) {
|
bond_for_each_slave(bond, slave, iter) {
|
||||||
pr_debug("s %p s->p %p c_m %p\n",
|
pr_debug("s %p c_m %p\n",
|
||||||
slave,
|
slave,
|
||||||
bond_prev_slave(bond, slave),
|
|
||||||
slave->dev->netdev_ops->ndo_change_mtu);
|
slave->dev->netdev_ops->ndo_change_mtu);
|
||||||
|
|
||||||
res = dev_set_mtu(slave->dev, new_mtu);
|
res = dev_set_mtu(slave->dev, new_mtu);
|
||||||
|
@ -96,10 +96,6 @@
|
|||||||
(bond_is_last_slave(bond, pos) ? bond_first_slave(bond) : \
|
(bond_is_last_slave(bond, pos) ? bond_first_slave(bond) : \
|
||||||
bond_to_slave((pos)->list.next))
|
bond_to_slave((pos)->list.next))
|
||||||
|
|
||||||
#define bond_prev_slave(bond, pos) \
|
|
||||||
(bond_is_first_slave(bond, pos) ? bond_last_slave(bond) : \
|
|
||||||
bond_to_slave((pos)->list.prev))
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* bond_for_each_slave - iterate over all slaves
|
* bond_for_each_slave - iterate over all slaves
|
||||||
* @bond: the bond holding this list
|
* @bond: the bond holding this list
|
||||||
|
Loading…
Reference in New Issue
Block a user