1 #ifndef _NAMESPACE_H_ 2 #define _NAMESPACE_H_ 3 #ifdef __KERNEL__ 4 5 #include <linux/path.h> 6 #include <linux/seq_file.h> 7 #include <linux/wait.h> 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 17 struct proc_mounts { 18 struct seq_file m; /* must be the first element */ 19 struct mnt_namespace *ns; 20 struct path root; 21 int event; 22 }; 23 24 struct fs_struct; 25 26 extern struct mnt_namespace *create_mnt_ns(struct vfsmount *mnt); 27 extern struct mnt_namespace *copy_mnt_ns(unsigned long, struct mnt_namespace *, 28 struct fs_struct *); 29 extern void put_mnt_ns(struct mnt_namespace *ns); 30 static inline void get_mnt_ns(struct mnt_namespace *ns) 31 { 32 atomic_inc(&ns->count); 33 } 34 35 extern const struct seq_operations mounts_op; 36 extern const struct seq_operations mountinfo_op; 37 extern const struct seq_operations mountstats_op; 38 extern int mnt_had_events(struct proc_mounts *); 39 40 #endif 41 #endif 42