/* * * Definitions for mount interface. This describes the in the kernel build * linkedlist with mounted filesystems. * * Author: Marco van Wieringen <mvw@planets.elm.net> * */ #ifndef _LINUX_MOUNT_H #define _LINUX_MOUNT_H #include <linux/types.h> #include <linux/list.h> #include <linux/nodemask.h> #include <linux/spinlock.h> #include <linux/seqlock.h> #include <linux/atomic.h> struct super_block; struct vfsmount; struct dentry; struct mnt_namespace; #define MNT_NOSUID 0x01 #define MNT_NODEV 0x02 #define MNT_NOEXEC 0x04 #define MNT_NOATIME 0x08 #define MNT_NODIRATIME 0x10 #define MNT_RELATIME 0x20 #define MNT_READONLY 0x40 /* does the user want this to be r/o? */ #define MNT_SHRINKABLE 0x100 #define MNT_WRITE_HOLD 0x200 #define MNT_SHARED 0x1000 /* if the vfsmount is a shared mount */ #define MNT_UNBINDABLE 0x2000 /* if the vfsmount is a unbindable mount */ /* * MNT_SHARED_MASK is the set of flags that should be cleared when a * mount becomes shared. Currently, this is only the flag that says a * mount cannot be bind mounted, since this is how we create a mount * that shares events with another mount. If you add a new MNT_* * flag, consider how it interacts with shared mounts. */ #define MNT_SHARED_MASK (MNT_UNBINDABLE) #define MNT_USER_SETTABLE_MASK (MNT_NOSUID | MNT_NODEV | MNT_NOEXEC \ | MNT_NOATIME | MNT_NODIRATIME | MNT_RELATIME \ | MNT_READONLY) #define MNT_ATIME_MASK (MNT_NOATIME | MNT_NODIRATIME | MNT_RELATIME ) #define MNT_INTERNAL_FLAGS (MNT_SHARED | MNT_WRITE_HOLD | MNT_INTERNAL | \ MNT_DOOMED | MNT_SYNC_UMOUNT | MNT_MARKED) #define MNT_INTERNAL 0x4000 #define MNT_LOCK_ATIME 0x040000 #define MNT_LOCK_NOEXEC 0x080000 #define MNT_LOCK_NOSUID 0x100000 #define MNT_LOCK_NODEV 0x200000 #define MNT_LOCK_READONLY 0x400000 #define MNT_LOCKED 0x800000 #define MNT_DOOMED 0x1000000 #define MNT_SYNC_UMOUNT 0x2000000 #define MNT_MARKED 0x4000000 #define MNT_UMOUNT 0x8000000 struct vfsmount { struct dentry *mnt_root; /* root of the mounted tree */ struct super_block *mnt_sb; /* pointer to superblock */ int mnt_flags; }; struct file; /* forward dec */ struct path; extern int mnt_want_write(struct vfsmount *mnt); extern int mnt_want_write_file(struct file *file); extern int mnt_clone_write(struct vfsmount *mnt); extern void mnt_drop_write(struct vfsmount *mnt); extern void mnt_drop_write_file(struct file *file); extern void mntput(struct vfsmount *mnt); extern struct vfsmount *mntget(struct vfsmount *mnt); extern struct vfsmount *mnt_clone_internal(struct path *path); extern int __mnt_is_readonly(struct vfsmount *mnt); struct path; extern struct vfsmount *clone_private_mount(struct path *path); struct file_system_type; extern struct vfsmount *vfs_kern_mount(struct file_system_type *type, int flags, const char *name, void *data); extern void mnt_set_expiry(struct vfsmount *mnt, struct list_head *expiry_list); extern void mark_mounts_for_expiry(struct list_head *mounts); extern dev_t name_to_dev_t(const char *name); #endif /* _LINUX_MOUNT_H */Overall Contributors
Person | Tokens | Prop | Commits | CommitProp | |
nick piggin | nick piggin | 47 | 13.58% | 3 | 7.14% |
david howells | david howells | 41 | 11.85% | 3 | 7.14% |
al viro | al viro | 39 | 11.27% | 6 | 14.29% |
pre-git | pre-git | 35 | 10.12% | 4 | 9.52% |
eric w. biederman | eric w. biederman | 34 | 9.83% | 5 | 11.90% |
dave hansen | dave hansen | 31 | 8.96% | 3 | 7.14% |
trond myklebust | trond myklebust | 30 | 8.67% | 2 | 4.76% |
linus torvalds | linus torvalds | 18 | 5.20% | 2 | 4.76% |
miklos szeredi | miklos szeredi | 15 | 4.34% | 1 | 2.38% |
ram pai | ram pai | 13 | 3.76% | 3 | 7.14% |
andrew morton | andrew morton | 12 | 3.47% | 1 | 2.38% |
christoph hellwig | christoph hellwig | 10 | 2.89% | 1 | 2.38% |
roland dreier | roland dreier | 5 | 1.45% | 1 | 2.38% |
valerie aurora | valerie aurora | 5 | 1.45% | 1 | 2.38% |
valerie henson | valerie henson | 4 | 1.16% | 1 | 2.38% |
david s. miller | david s. miller | 3 | 0.87% | 1 | 2.38% |
adrian bunk | adrian bunk | 1 | 0.29% | 1 | 2.38% |
dan ehrenberg | dan ehrenberg | 1 | 0.29% | 1 | 2.38% |
kirill korotaev | kirill korotaev | 1 | 0.29% | 1 | 2.38% |
arun sharma | arun sharma | 1 | 0.29% | 1 | 2.38% |
Total | 346 | 100.00% | 42 | 100.00% |