summaryrefslogtreecommitdiff
path: root/fs/mount.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2011-11-25 07:53:09 +0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-01-04 07:57:06 +0400
commit68e8a9feab251f9d3c8fd9e9893c97843bcd4bd0 (patch)
tree22fac61a982587cd53ccf05513fbe4ffe60c860d /fs/mount.h
parent83adc7532229f1909cf37c429780f02f06fe05ee (diff)
downloadlinux-68e8a9feab251f9d3c8fd9e9893c97843bcd4bd0.tar.xz
vfs: all counters taken to struct mount
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/mount.h')
-rw-r--r--fs/mount.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/fs/mount.h b/fs/mount.h
index 853738f5897f..452ae41e0131 100644
--- a/fs/mount.h
+++ b/fs/mount.h
@@ -1,10 +1,22 @@
#include <linux/mount.h>
+struct mnt_pcp {
+ int mnt_count;
+ int mnt_writers;
+};
+
struct mount {
struct list_head mnt_hash;
struct mount *mnt_parent;
struct dentry *mnt_mountpoint;
struct vfsmount mnt;
+#ifdef CONFIG_SMP
+ struct mnt_pcp __percpu *mnt_pcp;
+ atomic_t mnt_longterm; /* how many of the refs are longterm */
+#else
+ int mnt_count;
+ int mnt_writers;
+#endif
};
static inline struct mount *real_mount(struct vfsmount *mnt)