cregit-Linux how code gets into the kernel

Release 4.7 include/linux/mount.h

Directory: include/linux
/*
 *
 * 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

PersonTokensPropCommitsCommitProp
nick pigginnick piggin4713.58%37.14%
david howellsdavid howells4111.85%37.14%
al viroal viro3911.27%614.29%
pre-gitpre-git3510.12%49.52%
eric w. biedermaneric w. biederman349.83%511.90%
dave hansendave hansen318.96%37.14%
trond myklebusttrond myklebust308.67%24.76%
linus torvaldslinus torvalds185.20%24.76%
miklos szeredimiklos szeredi154.34%12.38%
ram pairam pai133.76%37.14%
andrew mortonandrew morton123.47%12.38%
christoph hellwigchristoph hellwig102.89%12.38%
roland dreierroland dreier51.45%12.38%
valerie auroravalerie aurora51.45%12.38%
valerie hensonvalerie henson41.16%12.38%
david s. millerdavid s. miller30.87%12.38%
adrian bunkadrian bunk10.29%12.38%
dan ehrenbergdan ehrenberg10.29%12.38%
kirill korotaevkirill korotaev10.29%12.38%
arun sharmaarun sharma10.29%12.38%
Total346100.00%42100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}