/* * * 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); extern bool mnt_may_suid(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); extern unsigned int sysctl_mount_max; #endif /* _LINUX_MOUNT_H */Overall Contributors
| Person | Tokens | Prop | Commits | CommitProp | |
| nick piggin | nick piggin | 47 | 13.02% | 3 | 6.82% |
| david howells | david howells | 41 | 11.36% | 3 | 6.82% |
| eric w. biederman | eric w. biederman | 39 | 10.80% | 6 | 13.64% |
| al viro | al viro | 39 | 10.80% | 6 | 13.64% |
| pre-git | pre-git | 35 | 9.70% | 4 | 9.09% |
| dave hansen | dave hansen | 31 | 8.59% | 3 | 6.82% |
| trond myklebust | trond myklebust | 30 | 8.31% | 2 | 4.55% |
| linus torvalds | linus torvalds | 18 | 4.99% | 2 | 4.55% |
| miklos szeredi | miklos szeredi | 15 | 4.16% | 1 | 2.27% |
| ram pai | ram pai | 13 | 3.60% | 3 | 6.82% |
| andrew morton | andrew morton | 12 | 3.32% | 1 | 2.27% |
| christoph hellwig | christoph hellwig | 10 | 2.77% | 1 | 2.27% |
| andy lutomirski | andy lutomirski | 10 | 2.77% | 1 | 2.27% |
| roland dreier | roland dreier | 5 | 1.39% | 1 | 2.27% |
| valerie aurora | valerie aurora | 5 | 1.39% | 1 | 2.27% |
| valerie henson | valerie henson | 4 | 1.11% | 1 | 2.27% |
| david s. miller | david s. miller | 3 | 0.83% | 1 | 2.27% |
| dan ehrenberg | dan ehrenberg | 1 | 0.28% | 1 | 2.27% |
| adrian bunk | adrian bunk | 1 | 0.28% | 1 | 2.27% |
| kirill korotaev | kirill korotaev | 1 | 0.28% | 1 | 2.27% |
| arun sharma | arun sharma | 1 | 0.28% | 1 | 2.27% |
| Total | 361 | 100.00% | 44 | 100.00% |