bonding: set primary param via sysfs
authorJiri Pirko <jpirko@redhat.com>
Fri, 18 Sep 2009 02:13:22 +0000 (02:13 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Oct 2009 21:34:29 +0000 (14:34 -0700)
Primary module parameter passed to bonding is pernament. That means if you
release the primary slave and enslave it again, it becomes the primary slave
again. But if you set primary slave via sysfs, the primary slave is only set
once and it's not remembered in bond->params structure. Therefore the setting is
lost after releasing the primary slave. This simple one-liner fixes this.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_sysfs.c

index 6044e12ff9fce99f433f514e5eb182bccc5097ee..ff449de6f3c00ab0eb394640cc56b07ce7e968dc 100644 (file)
@@ -1182,6 +1182,7 @@ static ssize_t bonding_store_primary(struct device *d,
                                       ": %s: Setting %s as primary slave.\n",
                                       bond->dev->name, slave->dev->name);
                                bond->primary_slave = slave;
+                               strcpy(bond->params.primary, slave->dev->name);
                                bond_select_active_slave(bond);
                                goto out;
                        }