OSDN Git Service

bonding: convert num_grat_arp to the new bonding option API
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Fri, 24 Jul 2015 13:50:31 +0000 (15:50 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 27 Jul 2015 08:05:24 +0000 (01:05 -0700)
num_grat_arp wasn't converted to the new bonding option API, so do this
now and remove the specific sysfs store option in order to use the
standard one. num_grat_arp is the same as num_unsol_na so add it as an
alias with the same option settings. An important difference is the option
name which is matched in bond_sysfs_store_option().

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Acked-by: Veaceslav Falico <vfalico@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_options.c
drivers/net/bonding/bond_sysfs.c
include/net/bond_options.h

index e9c624d..6dda57e 100644 (file)
@@ -420,6 +420,13 @@ static const struct bond_option bond_opts[BOND_OPT_LAST] = {
                .flags = BOND_OPTFLAG_IFDOWN,
                .values = bond_ad_user_port_key_tbl,
                .set = bond_option_ad_user_port_key_set,
+       },
+       [BOND_OPT_NUM_PEER_NOTIF_ALIAS] = {
+               .id = BOND_OPT_NUM_PEER_NOTIF_ALIAS,
+               .name = "num_grat_arp",
+               .desc = "Number of peer notifications to send on failover event",
+               .values = bond_num_peer_notif_tbl,
+               .set = bond_option_num_peer_notif_set
        }
 };
 
index 31835a4..f4ae720 100644 (file)
@@ -380,7 +380,7 @@ static ssize_t bonding_show_ad_select(struct device *d,
 static DEVICE_ATTR(ad_select, S_IRUGO | S_IWUSR,
                   bonding_show_ad_select, bonding_sysfs_store_option);
 
-/* Show and set the number of peer notifications to send after a failover event. */
+/* Show the number of peer notifications to send after a failover event. */
 static ssize_t bonding_show_num_peer_notif(struct device *d,
                                           struct device_attribute *attr,
                                           char *buf)
@@ -388,24 +388,10 @@ static ssize_t bonding_show_num_peer_notif(struct device *d,
        struct bonding *bond = to_bond(d);
        return sprintf(buf, "%d\n", bond->params.num_peer_notif);
 }
-
-static ssize_t bonding_store_num_peer_notif(struct device *d,
-                                           struct device_attribute *attr,
-                                           const char *buf, size_t count)
-{
-       struct bonding *bond = to_bond(d);
-       int ret;
-
-       ret = bond_opt_tryset_rtnl(bond, BOND_OPT_NUM_PEER_NOTIF, (char *)buf);
-       if (!ret)
-               ret = count;
-
-       return ret;
-}
 static DEVICE_ATTR(num_grat_arp, S_IRUGO | S_IWUSR,
-                  bonding_show_num_peer_notif, bonding_store_num_peer_notif);
+                  bonding_show_num_peer_notif, bonding_sysfs_store_option);
 static DEVICE_ATTR(num_unsol_na, S_IRUGO | S_IWUSR,
-                  bonding_show_num_peer_notif, bonding_store_num_peer_notif);
+                  bonding_show_num_peer_notif, bonding_sysfs_store_option);
 
 /* Show the MII monitor interval. */
 static ssize_t bonding_show_miimon(struct device *d,
index c28aca2..1797235 100644 (file)
@@ -66,6 +66,7 @@ enum {
        BOND_OPT_AD_ACTOR_SYS_PRIO,
        BOND_OPT_AD_ACTOR_SYSTEM,
        BOND_OPT_AD_USER_PORT_KEY,
+       BOND_OPT_NUM_PEER_NOTIF_ALIAS,
        BOND_OPT_LAST
 };