summaryrefslogtreecommitdiffstats
path: root/include/linux/mnt_namespace.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mnt_namespace.h')
-rw-r--r--include/linux/mnt_namespace.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/include/linux/mnt_namespace.h b/include/linux/mnt_namespace.h
new file mode 100644
index 00000000000..d74785c2393
--- /dev/null
+++ b/include/linux/mnt_namespace.h
@@ -0,0 +1,40 @@
+#ifndef _NAMESPACE_H_
+#define _NAMESPACE_H_
+#ifdef __KERNEL__
+
+#include <linux/path.h>
+#include <linux/seq_file.h>
+#include <linux/wait.h>
+
+struct mnt_namespace {
+ atomic_t count;
+ struct vfsmount * root;
+ struct list_head list;
+ wait_queue_head_t poll;
+ int event;
+};
+
+struct proc_mounts {
+ struct seq_file m; /* must be the first element */
+ struct mnt_namespace *ns;
+ struct path root;
+ int event;
+};
+
+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;
+
+#endif
+#endif