aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2009-12-02 21:29:03 -0500
committerDavid S. Miller <davem@davemloft.net>2009-12-03 15:22:01 -0500
commit72ad937abd0a43b7cf2c557ba1f2ec75e608c516 (patch)
treeac81af750df170a46ed001fb5647b83dc20f8422 /include
parent8153a10c08f1312af563bb92532002e46d3f504a (diff)
net: Add support for batching network namespace cleanups
- Add exit_list to struct net to support building lists of network namespaces to cleanup. - Add exit_batch to pernet_operations to allow running operations only once during a network namespace exit. Instead of once per network namespace. - Factor opt ops_exit_list and ops_exit_free so the logic with cleanup up a network namespace does not need to be duplicated. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/net_namespace.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
index 24a8c5591f63..f307e133d14c 100644
--- a/include/net/net_namespace.h
+++ b/include/net/net_namespace.h
@@ -43,6 +43,7 @@ struct net {
43#endif 43#endif
44 struct list_head list; /* list of network namespaces */ 44 struct list_head list; /* list of network namespaces */
45 struct list_head cleanup_list; /* namespaces on death row */ 45 struct list_head cleanup_list; /* namespaces on death row */
46 struct list_head exit_list; /* Use only net_mutex */
46 47
47 struct proc_dir_entry *proc_net; 48 struct proc_dir_entry *proc_net;
48 struct proc_dir_entry *proc_net_stat; 49 struct proc_dir_entry *proc_net_stat;
@@ -236,6 +237,7 @@ struct pernet_operations {
236 struct list_head list; 237 struct list_head list;
237 int (*init)(struct net *net); 238 int (*init)(struct net *net);
238 void (*exit)(struct net *net); 239 void (*exit)(struct net *net);
240 void (*exit_batch)(struct list_head *net_exit_list);
239 int *id; 241 int *id;
240 size_t size; 242 size_t size;
241}; 243};