[IPV4]: Clean up duplicate includes in net/ipv4/
[cascardo/linux.git] / net / ipv4 / ipvs / ip_vs_ctl.c
index 8b08d9c..c32781d 100644 (file)
@@ -29,7 +29,6 @@
 #include <linux/proc_fs.h>
 #include <linux/workqueue.h>
 #include <linux/swap.h>
-#include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 
 #include <linux/netfilter.h>
@@ -1783,7 +1782,7 @@ static int ip_vs_info_seq_show(struct seq_file *seq, void *v)
        return 0;
 }
 
-static struct seq_operations ip_vs_info_seq_ops = {
+static const struct seq_operations ip_vs_info_seq_ops = {
        .start = ip_vs_info_seq_start,
        .next  = ip_vs_info_seq_next,
        .stop  = ip_vs_info_seq_stop,
@@ -2359,7 +2358,7 @@ int ip_vs_control_init(void)
        proc_net_fops_create("ip_vs", 0, &ip_vs_info_fops);
        proc_net_fops_create("ip_vs_stats",0, &ip_vs_stats_fops);
 
-       sysctl_header = register_sysctl_table(vs_root_table, 0);
+       sysctl_header = register_sysctl_table(vs_root_table);
 
        /* Initialize ip_vs_svc_table, ip_vs_svc_fwm_table, ip_vs_rtable */
        for(idx = 0; idx < IP_VS_SVC_TAB_SIZE; idx++)  {
@@ -2387,6 +2386,7 @@ void ip_vs_control_cleanup(void)
        EnterFunction(2);
        ip_vs_trash_cleanup();
        cancel_rearming_delayed_work(&defense_work);
+       cancel_work_sync(&defense_work.work);
        ip_vs_kill_estimator(&ip_vs_stats);
        unregister_sysctl_table(sysctl_header);
        proc_net_remove("ip_vs_stats");