diff options
author | Weiping Pan <wpan@redhat.com> | 2012-06-10 23:00:20 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-06-12 15:23:11 -0700 |
commit | 8a93664df90db983cfede122f9b4ddb3a8284e52 (patch) | |
tree | 2b1da6946606e88a853edb62b3851a2b616d7c00 | |
parent | 5aa04d3af8916d890836ccaa9d146edee1e4c655 (diff) | |
download | linux-8a93664df90db983cfede122f9b4ddb3a8284e52.tar.gz linux-8a93664df90db983cfede122f9b4ddb3a8284e52.tar.bz2 linux-8a93664df90db983cfede122f9b4ddb3a8284e52.zip |
bonding:record primary when modify it via sysfs
If we modify primary via sysfs and it is not a valid slave,
we should record it for future use, and this behavior is the same with
bond_check_params().
Signed-off-by: Weiping Pan <wpan@redhat.com>
Acked-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/bonding/bond_sysfs.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c index aef42f045320..485bedb8278c 100644 --- a/drivers/net/bonding/bond_sysfs.c +++ b/drivers/net/bonding/bond_sysfs.c @@ -1082,8 +1082,12 @@ static ssize_t bonding_store_primary(struct device *d, } } - pr_info("%s: Unable to set %.*s as primary slave.\n", - bond->dev->name, (int)strlen(buf) - 1, buf); + strncpy(bond->params.primary, ifname, IFNAMSIZ); + bond->params.primary[IFNAMSIZ - 1] = 0; + + pr_info("%s: Recording %s as primary, " + "but it has not been enslaved to %s yet.\n", + bond->dev->name, ifname, bond->dev->name); out: write_unlock_bh(&bond->curr_slave_lock); read_unlock(&bond->lock); |