diff options
| author | Denis V. Lunev <den@openvz.org> | 2008-04-02 03:10:28 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2008-04-02 03:10:28 -0400 |
| commit | c0f39322c335412339dec16ebfd2a05ceba5ebcf (patch) | |
| tree | 0a2f1aea451ec3aa563d0069a3d464b647142df1 | |
| parent | 856f6ff7a3132c8e412b23a7b9157b68ac9a2baf (diff) | |
[NETNS]: Do not include net/net_namespace.h from seq_file.h
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | include/linux/seq_file.h | 22 | ||||
| -rw-r--r-- | include/linux/seq_file_net.h | 27 | ||||
| -rw-r--r-- | include/net/net_namespace.h | 2 |
3 files changed, 29 insertions, 22 deletions
diff --git a/include/linux/seq_file.h b/include/linux/seq_file.h index 5da70c3f4417..1da1e6208a0a 100644 --- a/include/linux/seq_file.h +++ b/include/linux/seq_file.h | |||
| @@ -5,7 +5,6 @@ | |||
| 5 | #include <linux/types.h> | 5 | #include <linux/types.h> |
| 6 | #include <linux/string.h> | 6 | #include <linux/string.h> |
| 7 | #include <linux/mutex.h> | 7 | #include <linux/mutex.h> |
| 8 | #include <net/net_namespace.h> | ||
| 9 | 8 | ||
| 10 | struct seq_operations; | 9 | struct seq_operations; |
| 11 | struct file; | 10 | struct file; |
| @@ -63,26 +62,5 @@ extern struct list_head *seq_list_start_head(struct list_head *head, | |||
| 63 | extern struct list_head *seq_list_next(void *v, struct list_head *head, | 62 | extern struct list_head *seq_list_next(void *v, struct list_head *head, |
| 64 | loff_t *ppos); | 63 | loff_t *ppos); |
| 65 | 64 | ||
| 66 | #ifdef CONFIG_NET | ||
| 67 | struct net; | ||
| 68 | struct seq_net_private { | ||
| 69 | #ifdef CONFIG_NET_NS | ||
| 70 | struct net *net; | ||
| 71 | #endif | ||
| 72 | }; | ||
| 73 | |||
| 74 | int seq_open_net(struct inode *, struct file *, | ||
| 75 | const struct seq_operations *, int); | ||
| 76 | int seq_release_net(struct inode *, struct file *); | ||
| 77 | static inline struct net *seq_file_net(struct seq_file *seq) | ||
| 78 | { | ||
| 79 | #ifdef CONFIG_NET_NS | ||
| 80 | return ((struct seq_net_private *)seq->private)->net; | ||
| 81 | #else | ||
| 82 | return &init_net; | ||
| 83 | #endif | ||
| 84 | } | ||
| 85 | #endif /* CONFIG_NET */ | ||
| 86 | |||
| 87 | #endif | 65 | #endif |
| 88 | #endif | 66 | #endif |
diff --git a/include/linux/seq_file_net.h b/include/linux/seq_file_net.h new file mode 100644 index 000000000000..4ac52542a563 --- /dev/null +++ b/include/linux/seq_file_net.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | #ifndef __SEQ_FILE_NET_H__ | ||
| 2 | #define __SEQ_FILE_NET_H__ | ||
| 3 | |||
| 4 | #include <linux/seq_file.h> | ||
| 5 | |||
| 6 | struct net; | ||
| 7 | extern struct net init_net; | ||
| 8 | |||
| 9 | struct seq_net_private { | ||
| 10 | #ifdef CONFIG_NET_NS | ||
| 11 | struct net *net; | ||
| 12 | #endif | ||
| 13 | }; | ||
| 14 | |||
| 15 | int seq_open_net(struct inode *, struct file *, | ||
| 16 | const struct seq_operations *, int); | ||
| 17 | int seq_release_net(struct inode *, struct file *); | ||
| 18 | static inline struct net *seq_file_net(struct seq_file *seq) | ||
| 19 | { | ||
| 20 | #ifdef CONFIG_NET_NS | ||
| 21 | return ((struct seq_net_private *)seq->private)->net; | ||
| 22 | #else | ||
| 23 | return &init_net; | ||
| 24 | #endif | ||
| 25 | } | ||
| 26 | |||
| 27 | #endif | ||
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index 4a37037b1d17..6c9a48a46685 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h | |||
| @@ -61,6 +61,8 @@ struct net { | |||
| 61 | 61 | ||
| 62 | 62 | ||
| 63 | #ifdef CONFIG_NET | 63 | #ifdef CONFIG_NET |
| 64 | #include <linux/seq_file_net.h> | ||
| 65 | |||
| 64 | /* Init's network namespace */ | 66 | /* Init's network namespace */ |
| 65 | extern struct net init_net; | 67 | extern struct net init_net; |
| 66 | #define INIT_NET_NS(net_ns) .net_ns = &init_net, | 68 | #define INIT_NET_NS(net_ns) .net_ns = &init_net, |
