diff options
author | Nikolay Aleksandrov <nikolay@redhat.com> | 2014-01-22 17:53:35 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-01-23 03:38:44 +0400 |
commit | d1fbd3ed9366904b58b1c0c30b22d51dc793de99 (patch) | |
tree | a49cee5fd1ba6b4d063a4c63b34a95ecabf851be /drivers/net/bonding/bond_sysfs.c | |
parent | 0fff060877426f3faf6754c201e28cd5b34756c0 (diff) | |
download | linux-d1fbd3ed9366904b58b1c0c30b22d51dc793de99.tar.xz |
bonding: convert active_slave to use the new option API
This patch adds the necessary changes so active_slave would use
the new bonding option API. Also some trivial/style fixes.
Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding/bond_sysfs.c')
-rw-r--r-- | drivers/net/bonding/bond_sysfs.c | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/drivers/net/bonding/bond_sysfs.c b/drivers/net/bonding/bond_sysfs.c index 004048240def..181a59d7241e 100644 --- a/drivers/net/bonding/bond_sysfs.c +++ b/drivers/net/bonding/bond_sysfs.c @@ -809,34 +809,14 @@ static ssize_t bonding_store_active_slave(struct device *d, struct device_attribute *attr, const char *buf, size_t count) { - int ret; struct bonding *bond = to_bond(d); - char ifname[IFNAMSIZ]; - struct net_device *dev; - - if (!rtnl_trylock()) - return restart_syscall(); - - sscanf(buf, "%15s", ifname); /* IFNAMSIZ */ - if (!strlen(ifname) || buf[0] == '\n') { - dev = NULL; - } else { - dev = __dev_get_by_name(dev_net(bond->dev), ifname); - if (!dev) { - ret = -ENODEV; - goto out; - } - } + int ret; - ret = bond_option_active_slave_set(bond, dev); + ret = bond_opt_tryset_rtnl(bond, BOND_OPT_ACTIVE_SLAVE, (char *)buf); if (!ret) ret = count; - out: - rtnl_unlock(); - return ret; - } static DEVICE_ATTR(active_slave, S_IRUGO | S_IWUSR, bonding_show_active_slave, bonding_store_active_slave); |