summaryrefslogtreecommitdiff
path: root/fs/mount.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2011-12-06 12:21:54 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2012-01-03 22:57:13 -0500
commit0226f4923f6c9b40cfa1c1c1b19a6ac6b3924ead (patch)
treecb0f26e6329e2222a9f3b8f85887f63980a01d37 /fs/mount.h
parent3a2393d71d77b034669d495b49c212a87e04abdc (diff)
downloadlwn-0226f4923f6c9b40cfa1c1c1b19a6ac6b3924ead.tar.gz
lwn-0226f4923f6c9b40cfa1c1c1b19a6ac6b3924ead.zip
vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
rationale: that stuff is far tighter bound to fs/namespace.c than to the guts of procfs proper. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/mount.h')
-rw-r--r--fs/mount.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/fs/mount.h b/fs/mount.h
index e094c863c8af..c6e99e03350a 100644
--- a/fs/mount.h
+++ b/fs/mount.h
@@ -1,4 +1,14 @@
#include <linux/mount.h>
+#include <linux/seq_file.h>
+#include <linux/poll.h>
+
+struct mnt_namespace {
+ atomic_t count;
+ struct vfsmount * root;
+ struct list_head list;
+ wait_queue_head_t poll;
+ int event;
+};
struct mnt_pcp {
int mnt_count;
@@ -49,3 +59,17 @@ static inline int mnt_has_parent(struct mount *mnt)
}
extern struct mount *__lookup_mnt(struct vfsmount *, struct dentry *, int);
+
+static inline void get_mnt_ns(struct mnt_namespace *ns)
+{
+ atomic_inc(&ns->count);
+}
+
+struct proc_mounts {
+ struct seq_file m; /* must be the first element */
+ struct mnt_namespace *ns;
+ struct path root;
+ int (*show)(struct seq_file *, struct vfsmount *);
+};
+
+extern const struct seq_operations mounts_op;