bonding: release slaves when master removed via sysfs

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Friday, January 18, 2008 - 3:59 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b96c8...
Commit:     3b96c858fcb27120fcba222366180c3293393ccf
Parent:     2543331d367c9fe54f4ba73300894bc21e0a08f4
Author:     Jay Vosburgh <fubar@us.ibm.com>
AuthorDate: Thu Jan 17 16:25:00 2008 -0800
Committer:  Jeff Garzik <jeff@garzik.org>
CommitDate: Fri Jan 18 14:38:38 2008 -0500

    bonding: release slaves when master removed via sysfs
    
    	Add a call to bond_release_all in the bonding netdev event
    handler for the master.  This releases the slaves for the case of, e.g.,
    "echo -bond0 > /sys/class/net/bonding_masters", which otherwise will spin
    forever waiting for references to be released.
    
    Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
    Signed-off-by: Jeff Garzik <jeff@garzik.org>
---
 drivers/net/bonding/bond_main.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index 77d004d..3ede0a2 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3401,9 +3401,7 @@ static int bond_master_netdev_event(unsigned long event, struct net_device *bond
 	case NETDEV_CHANGENAME:
 		return bond_event_changename(event_bond);
 	case NETDEV_UNREGISTER:
-		/*
-		 * TODO: remove a bond from the list?
-		 */
+		bond_release_all(event_bond->dev);
 		break;
 	default:
 		break;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
bonding: release slaves when master removed via sysfs, Linux Kernel Mailing ..., (Fri Jan 18, 3:59 pm)