Commit | Line | Data |
---|---|---|
6b3286ed KK |
1 | #ifndef _NAMESPACE_H_ |
2 | #define _NAMESPACE_H_ | |
3 | #ifdef __KERNEL__ | |
4 | ||
b43f3cbd | 5 | #include <linux/path.h> |
a1a2c409 | 6 | #include <linux/seq_file.h> |
b43f3cbd | 7 | #include <linux/wait.h> |
6b3286ed KK |
8 | |
9 | struct mnt_namespace { | |
10 | atomic_t count; | |
11 | struct vfsmount * root; | |
12 | struct list_head list; | |
13 | wait_queue_head_t poll; | |
14 | int event; | |
15 | }; | |
16 | ||
a1a2c409 MS |
17 | struct proc_mounts { |
18 | struct seq_file m; /* must be the first element */ | |
19 | struct mnt_namespace *ns; | |
20 | struct path root; | |
a1a2c409 MS |
21 | }; |
22 | ||
5ad4e53b AV |
23 | struct fs_struct; |
24 | ||
a2770d86 | 25 | extern struct mnt_namespace *create_mnt_ns(struct vfsmount *mnt); |
213dd266 | 26 | extern struct mnt_namespace *copy_mnt_ns(unsigned long, struct mnt_namespace *, |
6b3286ed | 27 | struct fs_struct *); |
616511d0 | 28 | extern void put_mnt_ns(struct mnt_namespace *ns); |
6b3286ed KK |
29 | static inline void get_mnt_ns(struct mnt_namespace *ns) |
30 | { | |
31 | atomic_inc(&ns->count); | |
32 | } | |
33 | ||
a1a2c409 | 34 | extern const struct seq_operations mounts_op; |
2d4d4864 | 35 | extern const struct seq_operations mountinfo_op; |
a1a2c409 | 36 | extern const struct seq_operations mountstats_op; |
9f5596af | 37 | extern int mnt_had_events(struct proc_mounts *); |
a1a2c409 | 38 | |
6b3286ed KK |
39 | #endif |
40 | #endif |