aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding/bond_main.c
diff options
context:
space:
mode:
authorTaku Izumi <izumi.taku@jp.fujitsu.com>2010-12-09 10:17:13 -0500
committerDavid S. Miller <davem@davemloft.net>2010-12-10 19:24:33 -0500
commitf073c7ca29a4a7e14060d9d3ddf09bfbb7cd9cc0 (patch)
treed545b7e77908ffb101c16d1be8cfe641828fa9b9 /drivers/net/bonding/bond_main.c
parent6c2c9d964e71770e7d6efc1a82f3621005d12185 (diff)
bonding: add the debugfs facility to the bonding driver
This patch provides the debugfs facility to the bonding driver. The "bonding" directory is created in the debugfs root and directories of each bonding interface (like bond0, bond1...) are created in that. # mount -t debugfs none /sys/kernel/debug # ls /sys/kernel/debug/bonding bond0 bond1 Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding/bond_main.c')
-rw-r--r--drivers/net/bonding/bond_main.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index bb33b3b347fa..07011e42cec7 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -3503,6 +3503,8 @@ static int bond_event_changename(struct bonding *bond)
3503 bond_remove_proc_entry(bond); 3503 bond_remove_proc_entry(bond);
3504 bond_create_proc_entry(bond); 3504 bond_create_proc_entry(bond);
3505 3505
3506 bond_debug_reregister(bond);
3507
3506 return NOTIFY_DONE; 3508 return NOTIFY_DONE;
3507} 3509}
3508 3510
@@ -4785,6 +4787,8 @@ static void bond_uninit(struct net_device *bond_dev)
4785 4787
4786 bond_remove_proc_entry(bond); 4788 bond_remove_proc_entry(bond);
4787 4789
4790 bond_debug_unregister(bond);
4791
4788 __hw_addr_flush(&bond->mc_list); 4792 __hw_addr_flush(&bond->mc_list);
4789 4793
4790 list_for_each_entry_safe(vlan, tmp, &bond->vlan_list, vlan_list) { 4794 list_for_each_entry_safe(vlan, tmp, &bond->vlan_list, vlan_list) {
@@ -5187,6 +5191,8 @@ static int bond_init(struct net_device *bond_dev)
5187 5191
5188 bond_prepare_sysfs_group(bond); 5192 bond_prepare_sysfs_group(bond);
5189 5193
5194 bond_debug_register(bond);
5195
5190 __hw_addr_init(&bond->mc_list); 5196 __hw_addr_init(&bond->mc_list);
5191 return 0; 5197 return 0;
5192} 5198}
@@ -5308,6 +5314,8 @@ static int __init bonding_init(void)
5308 if (res) 5314 if (res)
5309 goto err_link; 5315 goto err_link;
5310 5316
5317 bond_create_debugfs();
5318
5311 for (i = 0; i < max_bonds; i++) { 5319 for (i = 0; i < max_bonds; i++) {
5312 res = bond_create(&init_net, NULL); 5320 res = bond_create(&init_net, NULL);
5313 if (res) 5321 if (res)
@@ -5318,7 +5326,6 @@ static int __init bonding_init(void)
5318 if (res) 5326 if (res)
5319 goto err; 5327 goto err;
5320 5328
5321
5322 register_netdevice_notifier(&bond_netdev_notifier); 5329 register_netdevice_notifier(&bond_netdev_notifier);
5323 register_inetaddr_notifier(&bond_inetaddr_notifier); 5330 register_inetaddr_notifier(&bond_inetaddr_notifier);
5324 bond_register_ipv6_notifier(); 5331 bond_register_ipv6_notifier();
@@ -5342,6 +5349,7 @@ static void __exit bonding_exit(void)
5342 bond_unregister_ipv6_notifier(); 5349 bond_unregister_ipv6_notifier();
5343 5350
5344 bond_destroy_sysfs(); 5351 bond_destroy_sysfs();
5352 bond_destroy_debugfs();
5345 5353
5346 rtnl_link_unregister(&bond_link_ops); 5354 rtnl_link_unregister(&bond_link_ops);
5347 unregister_pernet_subsys(&bond_net_ops); 5355 unregister_pernet_subsys(&bond_net_ops);