aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mount.h
diff options
context:
space:
mode:
authorMichal Marek <mmarek@suse.cz>2010-10-27 18:15:57 -0400
committerMichal Marek <mmarek@suse.cz>2010-10-27 18:15:57 -0400
commitb74b953b998bcc2db91b694446f3a2619ec32de6 (patch)
tree6ce24caabd730f6ae9287ed0676ec32e6ff31e9d /include/linux/mount.h
parentabb438526201c6a79949ad45375c051b6681c253 (diff)
parentf6f94e2ab1b33f0082ac22d71f66385a60d8157f (diff)
Merge commit 'v2.6.36' into kbuild/misc
Update to be able to fix a recent change to scripts/basic/docproc.c (commit eda603f).
Diffstat (limited to 'include/linux/mount.h')
-rw-r--r--include/linux/mount.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/include/linux/mount.h b/include/linux/mount.h
index 5d5275364867..5e7a59408dd4 100644
--- a/include/linux/mount.h
+++ b/include/linux/mount.h
@@ -27,14 +27,24 @@ struct mnt_namespace;
27#define MNT_NODIRATIME 0x10 27#define MNT_NODIRATIME 0x10
28#define MNT_RELATIME 0x20 28#define MNT_RELATIME 0x20
29#define MNT_READONLY 0x40 /* does the user want this to be r/o? */ 29#define MNT_READONLY 0x40 /* does the user want this to be r/o? */
30#define MNT_STRICTATIME 0x80
31 30
32#define MNT_SHRINKABLE 0x100 31#define MNT_SHRINKABLE 0x100
33#define MNT_WRITE_HOLD 0x200 32#define MNT_WRITE_HOLD 0x200
34 33
35#define MNT_SHARED 0x1000 /* if the vfsmount is a shared mount */ 34#define MNT_SHARED 0x1000 /* if the vfsmount is a shared mount */
36#define MNT_UNBINDABLE 0x2000 /* if the vfsmount is a unbindable mount */ 35#define MNT_UNBINDABLE 0x2000 /* if the vfsmount is a unbindable mount */
37#define MNT_PNODE_MASK 0x3000 /* propagation flag mask */ 36/*
37 * MNT_SHARED_MASK is the set of flags that should be cleared when a
38 * mount becomes shared. Currently, this is only the flag that says a
39 * mount cannot be bind mounted, since this is how we create a mount
40 * that shares events with another mount. If you add a new MNT_*
41 * flag, consider how it interacts with shared mounts.
42 */
43#define MNT_SHARED_MASK (MNT_UNBINDABLE)
44#define MNT_PROPAGATION_MASK (MNT_SHARED | MNT_UNBINDABLE)
45
46
47#define MNT_INTERNAL 0x4000
38 48
39struct vfsmount { 49struct vfsmount {
40 struct list_head mnt_hash; 50 struct list_head mnt_hash;
@@ -45,7 +55,11 @@ struct vfsmount {
45 struct list_head mnt_mounts; /* list of children, anchored here */ 55 struct list_head mnt_mounts; /* list of children, anchored here */
46 struct list_head mnt_child; /* and going through their mnt_child */ 56 struct list_head mnt_child; /* and going through their mnt_child */
47 int mnt_flags; 57 int mnt_flags;
48 /* 4 bytes hole on 64bits arches */ 58 /* 4 bytes hole on 64bits arches without fsnotify */
59#ifdef CONFIG_FSNOTIFY
60 __u32 mnt_fsnotify_mask;
61 struct hlist_head mnt_fsnotify_marks;
62#endif
49 const char *mnt_devname; /* Name of device e.g. /dev/dsk/hda1 */ 63 const char *mnt_devname; /* Name of device e.g. /dev/dsk/hda1 */
50 struct list_head mnt_list; 64 struct list_head mnt_list;
51 struct list_head mnt_expire; /* link in fs-specific expiry list */ 65 struct list_head mnt_expire; /* link in fs-specific expiry list */
@@ -66,7 +80,7 @@ struct vfsmount {
66 int mnt_pinned; 80 int mnt_pinned;
67 int mnt_ghosts; 81 int mnt_ghosts;
68#ifdef CONFIG_SMP 82#ifdef CONFIG_SMP
69 int *mnt_writers; 83 int __percpu *mnt_writers;
70#else 84#else
71 int mnt_writers; 85 int mnt_writers;
72#endif 86#endif
@@ -123,7 +137,6 @@ extern int do_add_mount(struct vfsmount *newmnt, struct path *path,
123 137
124extern void mark_mounts_for_expiry(struct list_head *mounts); 138extern void mark_mounts_for_expiry(struct list_head *mounts);
125 139
126extern spinlock_t vfsmount_lock;
127extern dev_t name_to_dev_t(char *name); 140extern dev_t name_to_dev_t(char *name);
128 141
129#endif /* _LINUX_MOUNT_H */ 142#endif /* _LINUX_MOUNT_H */