History

tools include uapi: Grab a copy of linux/mount.h

We were using a copy of uapi/linux/fs.h to create the mount syscall 'flags' string table to use in 'perf trace', to convert from the number obtained via the raw_syscalls:sys_enter into a string, using tools/perf/trace/beauty/mount_flags.sh, but in e262e32d6bde ("vfs: Suppress MS_* flag defs within the kernel unless explicitly enabled") those defines got moved to linux/mount.h, so grab a copy of mount.h too. Keep the uapi/linux/fs.h as we'll use it for the SEEK_ constants.

Arnaldo Carvalho de Melo committed 7 years ago

Commit 250bfc81 parent f2e14cd2 files · +59 −0Browse files

Showing the changes to tools/include/uapi/linux (1 of 2 files). Show all

Unified · Split

tools/include/uapi/linux/mount.h+58−0
@@ -0,0 +1,58 @@
1+#ifndef _UAPI_LINUX_MOUNT_H
2+#define _UAPI_LINUX_MOUNT_H
3+
4+/*
5+ * These are the fs-independent mount-flags: up to 32 flags are supported
6+ *
7+ * Usage of these is restricted within the kernel to core mount(2) code and
8+ * callers of sys_mount() only. Filesystems should be using the SB_*
9+ * equivalent instead.
10+ */
11+#define MS_RDONLY 1 /* Mount read-only */
12+#define MS_NOSUID 2 /* Ignore suid and sgid bits */
13+#define MS_NODEV 4 /* Disallow access to device special files */
14+#define MS_NOEXEC 8 /* Disallow program execution */
15+#define MS_SYNCHRONOUS 16 /* Writes are synced at once */
16+#define MS_REMOUNT 32 /* Alter flags of a mounted FS */
17+#define MS_MANDLOCK 64 /* Allow mandatory locks on an FS */
18+#define MS_DIRSYNC 128 /* Directory modifications are synchronous */
19+#define MS_NOATIME 1024 /* Do not update access times. */
20+#define MS_NODIRATIME 2048 /* Do not update directory access times */
21+#define MS_BIND 4096
22+#define MS_MOVE 8192
23+#define MS_REC 16384
24+#define MS_VERBOSE 32768 /* War is peace. Verbosity is silence.
25+ MS_VERBOSE is deprecated. */
26+#define MS_SILENT 32768
27+#define MS_POSIXACL (1<<16) /* VFS does not apply the umask */
28+#define MS_UNBINDABLE (1<<17) /* change to unbindable */
29+#define MS_PRIVATE (1<<18) /* change to private */
30+#define MS_SLAVE (1<<19) /* change to slave */
31+#define MS_SHARED (1<<20) /* change to shared */
32+#define MS_RELATIME (1<<21) /* Update atime relative to mtime/ctime. */
33+#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */
34+#define MS_I_VERSION (1<<23) /* Update inode I_version field */
35+#define MS_STRICTATIME (1<<24) /* Always perform atime updates */
36+#define MS_LAZYTIME (1<<25) /* Update the on-disk [acm]times lazily */
37+
38+/* These sb flags are internal to the kernel */
39+#define MS_SUBMOUNT (1<<26)
40+#define MS_NOREMOTELOCK (1<<27)
41+#define MS_NOSEC (1<<28)
42+#define MS_BORN (1<<29)
43+#define MS_ACTIVE (1<<30)
44+#define MS_NOUSER (1<<31)
45+
46+/*
47+ * Superblock flags that can be altered by MS_REMOUNT
48+ */
49+#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|\
50+ MS_LAZYTIME)
51+
52+/*
53+ * Old magic mount flag and mask
54+ */
55+#define MS_MGC_VAL 0xC0ED0000
56+#define MS_MGC_MSK 0xffff0000
57+
58+#endif /* _UAPI_LINUX_MOUNT_H */