diff options
author | Taku Izumi <izumi.taku@jp.fujitsu.com> | 2010-12-09 10:17:13 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-10 19:24:33 -0500 |
commit | f073c7ca29a4a7e14060d9d3ddf09bfbb7cd9cc0 (patch) | |
tree | d545b7e77908ffb101c16d1be8cfe641828fa9b9 /drivers/net/bonding/bond_main.c | |
parent | 6c2c9d964e71770e7d6efc1a82f3621005d12185 (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.c | 10 |
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); |