X-Git-Url: http://ftp.safe.ca/?a=blobdiff_plain;f=include%2Flinux%2Fmnt_namespace.h;h=0b89efc6f2155c1844775688c261d9ce52dc7957;hb=9f5596af44514f99e3a654a4f7cb813354b9e516;hp=4af0b1fc282afbd9c8206d9e859f53b65bd29271;hpb=6b3286ed1169d74fea401367d6d4d6c6ec758a81;p=safe%2Fjmp%2Flinux-2.6 diff --git a/include/linux/mnt_namespace.h b/include/linux/mnt_namespace.h index 4af0b1f..0b89efc 100644 --- a/include/linux/mnt_namespace.h +++ b/include/linux/mnt_namespace.h @@ -2,9 +2,9 @@ #define _NAMESPACE_H_ #ifdef __KERNEL__ -#include -#include -#include +#include +#include +#include struct mnt_namespace { atomic_t count; @@ -14,29 +14,28 @@ struct mnt_namespace { int event; }; -extern int copy_mnt_ns(int, struct task_struct *); -extern void __put_mnt_ns(struct mnt_namespace *ns); -extern struct mnt_namespace *dup_mnt_ns(struct task_struct *, - struct fs_struct *); - -static inline void put_mnt_ns(struct mnt_namespace *ns) -{ - if (atomic_dec_and_lock(&ns->count, &vfsmount_lock)) - /* releases vfsmount_lock */ - __put_mnt_ns(ns); -} +struct proc_mounts { + struct seq_file m; /* must be the first element */ + struct mnt_namespace *ns; + struct path root; + int event; +}; -static inline void exit_mnt_ns(struct task_struct *p) -{ - struct mnt_namespace *ns = p->nsproxy->mnt_ns; - if (ns) - put_mnt_ns(ns); -} +struct fs_struct; +extern struct mnt_namespace *create_mnt_ns(struct vfsmount *mnt); +extern struct mnt_namespace *copy_mnt_ns(unsigned long, struct mnt_namespace *, + struct fs_struct *); +extern void put_mnt_ns(struct mnt_namespace *ns); static inline void get_mnt_ns(struct mnt_namespace *ns) { atomic_inc(&ns->count); } +extern const struct seq_operations mounts_op; +extern const struct seq_operations mountinfo_op; +extern const struct seq_operations mountstats_op; +extern int mnt_had_events(struct proc_mounts *); + #endif #endif