aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorJiaheng Hu <jiahengh@google.com>2020-06-21 15:15:06 +0000
committerEric Biggers <ebiggers3@gmail.com>2020-06-26 11:31:35 -0700
commit4b0871d90d4b0805af6324826e00cfc40005862d (patch)
tree6b9eac1cd8529c2aadc07fd47fd7fd227d1d494e /sys/linux
parent349959fbca6323fd779fd8641d2bbaf393c95752 (diff)
sys/linux: add description for fsinfo
Added the description for the new fsinfo sys call (currently in linux-next). Details about fsinfo can be seen in https://lkml.kernel.org/linux-fsdevel/158454408854.2864823.5910520544515668590.stgit@warthog.procyon.org.uk/.
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/sys.txt13
-rw-r--r--sys/linux/sys_386.const29
-rw-r--r--sys/linux/sys_amd64.const29
-rw-r--r--sys/linux/sys_arm.const29
-rw-r--r--sys/linux/sys_arm64.const29
-rw-r--r--sys/linux/sys_mips64le.const29
-rw-r--r--sys/linux/sys_ppc64le.const29
7 files changed, 187 insertions, 0 deletions
diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt
index 64a69e581..6169e77ff 100644
--- a/sys/linux/sys.txt
+++ b/sys/linux/sys.txt
@@ -52,6 +52,7 @@ include <uapi/linux/capability.h>
include <uapi/linux/seccomp.h>
include <uapi/linux/suspend_ioctls.h>
include <kernel/sched/sched.h>
+include <uapi/linux/fsinfo.h>
resource fd[int32]: -1
resource fd_dir[fd]: AT_FDCWD
@@ -361,6 +362,7 @@ sysfs$2(option const[2], fsindex intptr, fsname buffer[out])
sysfs$3(option const[3])
statfs(path ptr[in, filename], buf buffer[out])
fstatfs(fd fd, buf buffer[out])
+fsinfo(dfd fd_dir, path ptr[in, filename], params ptr[in, fsinfo_params], params_size bytesize[params], buf buffer[out], buffer_size bytesize[buf])
uselib(lib ptr[in, filename])
init_module(mod ptr[in, string], len len[mod], args ptr[in, string])
@@ -861,6 +863,15 @@ sched_attr {
sched_util_max int32
}
+fsinfo_params {
+ resolve_flags flags[resolve_flags, int64]
+ at_flags flags[at_flags, int32]
+ flags flags[fsinfo_flags, int32]
+ request flags[fsinfo_attr_flags, int32]
+ Nth int32
+ Mth int32
+}
+
sched_policy = SCHED_NORMAL, SCHED_FIFO, SCHED_RR, SCHED_BATCH, SCHED_IDLE, SCHED_DEADLINE
sched_attr_flags = SCHED_FLAG_RESET_ON_FORK, SCHED_FLAG_RECLAIM, SCHED_FLAG_DL_OVERRUN, SCHED_FLAG_KEEP_POLICY, SCHED_FLAG_KEEP_PARAMS, SCHED_FLAG_UTIL_CLAMP_MIN, SCHED_FLAG_UTIL_CLAMP_MAX, SCHED_FLAG_SUGOV
@@ -983,6 +994,8 @@ fiemap_extent_flags = FIEMAP_EXTENT_LAST, FIEMAP_EXTENT_UNKNOWN, FIEMAP_EXTENT_D
getrandom_flags = GRND_NONBLOCK, GRND_RANDOM
clone_flags = CLONE_VM, CLONE_FS, CLONE_FILES, CLONE_SIGHAND, CLONE_PTRACE, CLONE_VFORK, CLONE_PARENT, CLONE_THREAD, CLONE_NEWNS, CLONE_SYSVSEM, CLONE_SETTLS, CLONE_PARENT_SETTID, CLONE_CHILD_CLEARTID, CLONE_UNTRACED, CLONE_CHILD_SETTID, CLONE_NEWCGROUP, CLONE_NEWUTS, CLONE_NEWIPC, CLONE_NEWUSER, CLONE_NEWPID, CLONE_NEWNET, CLONE_IO, CLONE_PIDFD, CLONE_NEWTIME
ptrace_peeksiginfo_flags = PTRACE_PEEKSIGINFO_SHARED
+fsinfo_flags = FSINFO_FLAGS_QUERY_MASK, FSINFO_FLAGS_QUERY_PATH, FSINFO_FLAGS_QUERY_FD, FSINFO_FLAGS_QUERY_MOUNT
+fsinfo_attr_flags = FSINFO_ATTR_STATFS, FSINFO_ATTR_IDS, FSINFO_ATTR_LIMITS, FSINFO_ATTR_SUPPORTS, FSINFO_ATTR_TIMESTAMP_INFO, FSINFO_ATTR_VOLUME_ID, FSINFO_ATTR_VOLUME_UUID, FSINFO_ATTR_VOLUME_NAME, FSINFO_ATTR_FEATURES, FSINFO_ATTR_SOURCE, FSINFO_ATTR_CONFIGURATION, FSINFO_ATTR_FS_STATISTICS, FSINFO_ATTR_FSINFO_ATTRIBUTE_INFO, FSINFO_ATTR_FSINFO_ATTRIBUTES, FSINFO_ATTR_MOUNT_INFO, FSINFO_ATTR_MOUNT_PATH, FSINFO_ATTR_MOUNT_POINT, FSINFO_ATTR_MOUNT_POINT_FULL, FSINFO_ATTR_MOUNT_TOPOLOGY, FSINFO_ATTR_MOUNT_CHILDREN, FSINFO_ATTR_MOUNT_ALL, FSINFO_ATTR_AFS_CELL_NAME, FSINFO_ATTR_AFS_SERVER_NAME, FSINFO_ATTR_AFS_SERVER_ADDRESSES
# adjtimex flags.
_ = STA_PLL, STA_PPSFREQ, STA_PPSTIME, STA_FLL, STA_INS, STA_DEL, STA_UNSYNC, STA_FREQHOLD, STA_PPSSIGNAL, STA_PPSJITTER, STA_PPSWANDER, STA_PPSERROR, STA_CLOCKERR, STA_NANO, STA_MODE, STA_CLK, STA_RONLY
diff --git a/sys/linux/sys_386.const b/sys/linux/sys_386.const
index f34d4b44f..3195e8b24 100644
--- a/sys/linux/sys_386.const
+++ b/sys/linux/sys_386.const
@@ -108,6 +108,34 @@ FIONBIO = 21537
FIONCLEX = 21584
FIOQSIZE = 21600
FITHAW = 3221510264
+FSINFO_ATTR_AFS_CELL_NAME = 768
+FSINFO_ATTR_AFS_SERVER_ADDRESSES = 770
+FSINFO_ATTR_AFS_SERVER_NAME = 769
+FSINFO_ATTR_CONFIGURATION = 10
+FSINFO_ATTR_FEATURES = 8
+FSINFO_ATTR_FSINFO_ATTRIBUTES = 257
+FSINFO_ATTR_FSINFO_ATTRIBUTE_INFO = 256
+FSINFO_ATTR_FS_STATISTICS = 11
+FSINFO_ATTR_IDS = 1
+FSINFO_ATTR_LIMITS = 2
+FSINFO_ATTR_MOUNT_ALL = 518
+FSINFO_ATTR_MOUNT_CHILDREN = 517
+FSINFO_ATTR_MOUNT_INFO = 512
+FSINFO_ATTR_MOUNT_PATH = 513
+FSINFO_ATTR_MOUNT_POINT = 514
+FSINFO_ATTR_MOUNT_POINT_FULL = 515
+FSINFO_ATTR_MOUNT_TOPOLOGY = 516
+FSINFO_ATTR_SOURCE = 9
+FSINFO_ATTR_STATFS = 0
+FSINFO_ATTR_SUPPORTS = 3
+FSINFO_ATTR_TIMESTAMP_INFO = 4
+FSINFO_ATTR_VOLUME_ID = 5
+FSINFO_ATTR_VOLUME_NAME = 7
+FSINFO_ATTR_VOLUME_UUID = 6
+FSINFO_FLAGS_QUERY_FD = 1
+FSINFO_FLAGS_QUERY_MASK = 7
+FSINFO_FLAGS_QUERY_MOUNT = 2
+FSINFO_FLAGS_QUERY_PATH = 0
F_ADD_SEALS = 1033
F_DUPFD = 0
F_DUPFD_CLOEXEC = 1030
@@ -588,6 +616,7 @@ __NR_fcntl = 55
__NR_fdatasync = 148
__NR_finit_module = 350
__NR_flock = 143
+__NR_fsinfo = 442
__NR_fstat = 108
__NR_fstat64 = 197
__NR_fstatat64 = 300
diff --git a/sys/linux/sys_amd64.const b/sys/linux/sys_amd64.const
index a2d39af2a..eaa7baa15 100644
--- a/sys/linux/sys_amd64.const
+++ b/sys/linux/sys_amd64.const
@@ -108,6 +108,34 @@ FIONBIO = 21537
FIONCLEX = 21584
FIOQSIZE = 21600
FITHAW = 3221510264
+FSINFO_ATTR_AFS_CELL_NAME = 768
+FSINFO_ATTR_AFS_SERVER_ADDRESSES = 770
+FSINFO_ATTR_AFS_SERVER_NAME = 769
+FSINFO_ATTR_CONFIGURATION = 10
+FSINFO_ATTR_FEATURES = 8
+FSINFO_ATTR_FSINFO_ATTRIBUTES = 257
+FSINFO_ATTR_FSINFO_ATTRIBUTE_INFO = 256
+FSINFO_ATTR_FS_STATISTICS = 11
+FSINFO_ATTR_IDS = 1
+FSINFO_ATTR_LIMITS = 2
+FSINFO_ATTR_MOUNT_ALL = 518
+FSINFO_ATTR_MOUNT_CHILDREN = 517
+FSINFO_ATTR_MOUNT_INFO = 512
+FSINFO_ATTR_MOUNT_PATH = 513
+FSINFO_ATTR_MOUNT_POINT = 514
+FSINFO_ATTR_MOUNT_POINT_FULL = 515
+FSINFO_ATTR_MOUNT_TOPOLOGY = 516
+FSINFO_ATTR_SOURCE = 9
+FSINFO_ATTR_STATFS = 0
+FSINFO_ATTR_SUPPORTS = 3
+FSINFO_ATTR_TIMESTAMP_INFO = 4
+FSINFO_ATTR_VOLUME_ID = 5
+FSINFO_ATTR_VOLUME_NAME = 7
+FSINFO_ATTR_VOLUME_UUID = 6
+FSINFO_FLAGS_QUERY_FD = 1
+FSINFO_FLAGS_QUERY_MASK = 7
+FSINFO_FLAGS_QUERY_MOUNT = 2
+FSINFO_FLAGS_QUERY_PATH = 0
F_ADD_SEALS = 1033
F_DUPFD = 0
F_DUPFD_CLOEXEC = 1030
@@ -588,6 +616,7 @@ __NR_fcntl = 72
__NR_fdatasync = 75
__NR_finit_module = 313
__NR_flock = 73
+__NR_fsinfo = 442
__NR_fstat = 5
# __NR_fstat64 is not set
# __NR_fstatat64 is not set
diff --git a/sys/linux/sys_arm.const b/sys/linux/sys_arm.const
index 4b31a92c0..d47387b66 100644
--- a/sys/linux/sys_arm.const
+++ b/sys/linux/sys_arm.const
@@ -108,6 +108,34 @@ FIONBIO = 21537
FIONCLEX = 21584
FIOQSIZE = 21598
FITHAW = 3221510264
+FSINFO_ATTR_AFS_CELL_NAME = 768
+FSINFO_ATTR_AFS_SERVER_ADDRESSES = 770
+FSINFO_ATTR_AFS_SERVER_NAME = 769
+FSINFO_ATTR_CONFIGURATION = 10
+FSINFO_ATTR_FEATURES = 8
+FSINFO_ATTR_FSINFO_ATTRIBUTES = 257
+FSINFO_ATTR_FSINFO_ATTRIBUTE_INFO = 256
+FSINFO_ATTR_FS_STATISTICS = 11
+FSINFO_ATTR_IDS = 1
+FSINFO_ATTR_LIMITS = 2
+FSINFO_ATTR_MOUNT_ALL = 518
+FSINFO_ATTR_MOUNT_CHILDREN = 517
+FSINFO_ATTR_MOUNT_INFO = 512
+FSINFO_ATTR_MOUNT_PATH = 513
+FSINFO_ATTR_MOUNT_POINT = 514
+FSINFO_ATTR_MOUNT_POINT_FULL = 515
+FSINFO_ATTR_MOUNT_TOPOLOGY = 516
+FSINFO_ATTR_SOURCE = 9
+FSINFO_ATTR_STATFS = 0
+FSINFO_ATTR_SUPPORTS = 3
+FSINFO_ATTR_TIMESTAMP_INFO = 4
+FSINFO_ATTR_VOLUME_ID = 5
+FSINFO_ATTR_VOLUME_NAME = 7
+FSINFO_ATTR_VOLUME_UUID = 6
+FSINFO_FLAGS_QUERY_FD = 1
+FSINFO_FLAGS_QUERY_MASK = 7
+FSINFO_FLAGS_QUERY_MOUNT = 2
+FSINFO_FLAGS_QUERY_PATH = 0
F_ADD_SEALS = 1033
F_DUPFD = 0
F_DUPFD_CLOEXEC = 1030
@@ -588,6 +616,7 @@ __NR_fcntl = 55
__NR_fdatasync = 148
__NR_finit_module = 379
__NR_flock = 143
+__NR_fsinfo = 442
__NR_fstat = 108
__NR_fstat64 = 197
__NR_fstatat64 = 327
diff --git a/sys/linux/sys_arm64.const b/sys/linux/sys_arm64.const
index b606c52f6..194b6ff6b 100644
--- a/sys/linux/sys_arm64.const
+++ b/sys/linux/sys_arm64.const
@@ -108,6 +108,34 @@ FIONBIO = 21537
FIONCLEX = 21584
FIOQSIZE = 21600
FITHAW = 3221510264
+FSINFO_ATTR_AFS_CELL_NAME = 768
+FSINFO_ATTR_AFS_SERVER_ADDRESSES = 770
+FSINFO_ATTR_AFS_SERVER_NAME = 769
+FSINFO_ATTR_CONFIGURATION = 10
+FSINFO_ATTR_FEATURES = 8
+FSINFO_ATTR_FSINFO_ATTRIBUTES = 257
+FSINFO_ATTR_FSINFO_ATTRIBUTE_INFO = 256
+FSINFO_ATTR_FS_STATISTICS = 11
+FSINFO_ATTR_IDS = 1
+FSINFO_ATTR_LIMITS = 2
+FSINFO_ATTR_MOUNT_ALL = 518
+FSINFO_ATTR_MOUNT_CHILDREN = 517
+FSINFO_ATTR_MOUNT_INFO = 512
+FSINFO_ATTR_MOUNT_PATH = 513
+FSINFO_ATTR_MOUNT_POINT = 514
+FSINFO_ATTR_MOUNT_POINT_FULL = 515
+FSINFO_ATTR_MOUNT_TOPOLOGY = 516
+FSINFO_ATTR_SOURCE = 9
+FSINFO_ATTR_STATFS = 0
+FSINFO_ATTR_SUPPORTS = 3
+FSINFO_ATTR_TIMESTAMP_INFO = 4
+FSINFO_ATTR_VOLUME_ID = 5
+FSINFO_ATTR_VOLUME_NAME = 7
+FSINFO_ATTR_VOLUME_UUID = 6
+FSINFO_FLAGS_QUERY_FD = 1
+FSINFO_FLAGS_QUERY_MASK = 7
+FSINFO_FLAGS_QUERY_MOUNT = 2
+FSINFO_FLAGS_QUERY_PATH = 0
F_ADD_SEALS = 1033
F_DUPFD = 0
F_DUPFD_CLOEXEC = 1030
@@ -588,6 +616,7 @@ __NR_fcntl = 25
__NR_fdatasync = 83
__NR_finit_module = 273
__NR_flock = 32
+__NR_fsinfo = 442
__NR_fstat = 80
# __NR_fstat64 is not set
# __NR_fstatat64 is not set
diff --git a/sys/linux/sys_mips64le.const b/sys/linux/sys_mips64le.const
index a52b523e0..23091c93d 100644
--- a/sys/linux/sys_mips64le.const
+++ b/sys/linux/sys_mips64le.const
@@ -108,6 +108,34 @@ FIONBIO = 26238
FIONCLEX = 26114
FIOQSIZE = 26239
FITHAW = 3221510264
+FSINFO_ATTR_AFS_CELL_NAME = 768
+FSINFO_ATTR_AFS_SERVER_ADDRESSES = 770
+FSINFO_ATTR_AFS_SERVER_NAME = 769
+FSINFO_ATTR_CONFIGURATION = 10
+FSINFO_ATTR_FEATURES = 8
+FSINFO_ATTR_FSINFO_ATTRIBUTES = 257
+FSINFO_ATTR_FSINFO_ATTRIBUTE_INFO = 256
+FSINFO_ATTR_FS_STATISTICS = 11
+FSINFO_ATTR_IDS = 1
+FSINFO_ATTR_LIMITS = 2
+FSINFO_ATTR_MOUNT_ALL = 518
+FSINFO_ATTR_MOUNT_CHILDREN = 517
+FSINFO_ATTR_MOUNT_INFO = 512
+FSINFO_ATTR_MOUNT_PATH = 513
+FSINFO_ATTR_MOUNT_POINT = 514
+FSINFO_ATTR_MOUNT_POINT_FULL = 515
+FSINFO_ATTR_MOUNT_TOPOLOGY = 516
+FSINFO_ATTR_SOURCE = 9
+FSINFO_ATTR_STATFS = 0
+FSINFO_ATTR_SUPPORTS = 3
+FSINFO_ATTR_TIMESTAMP_INFO = 4
+FSINFO_ATTR_VOLUME_ID = 5
+FSINFO_ATTR_VOLUME_NAME = 7
+FSINFO_ATTR_VOLUME_UUID = 6
+FSINFO_FLAGS_QUERY_FD = 1
+FSINFO_FLAGS_QUERY_MASK = 7
+FSINFO_FLAGS_QUERY_MOUNT = 2
+FSINFO_FLAGS_QUERY_PATH = 0
F_ADD_SEALS = 1033
F_DUPFD = 0
F_DUPFD_CLOEXEC = 1030
@@ -588,6 +616,7 @@ __NR_fcntl = 5070
__NR_fdatasync = 5073
__NR_finit_module = 5307
__NR_flock = 5071
+__NR_fsinfo = 5442
__NR_fstat = 5005
# __NR_fstat64 is not set
# __NR_fstatat64 is not set
diff --git a/sys/linux/sys_ppc64le.const b/sys/linux/sys_ppc64le.const
index 1c95fe8d4..c783a042a 100644
--- a/sys/linux/sys_ppc64le.const
+++ b/sys/linux/sys_ppc64le.const
@@ -108,6 +108,34 @@ FIONBIO = 2147772030
FIONCLEX = 536897026
FIOQSIZE = 1074292352
FITHAW = 3221510264
+FSINFO_ATTR_AFS_CELL_NAME = 768
+FSINFO_ATTR_AFS_SERVER_ADDRESSES = 770
+FSINFO_ATTR_AFS_SERVER_NAME = 769
+FSINFO_ATTR_CONFIGURATION = 10
+FSINFO_ATTR_FEATURES = 8
+FSINFO_ATTR_FSINFO_ATTRIBUTES = 257
+FSINFO_ATTR_FSINFO_ATTRIBUTE_INFO = 256
+FSINFO_ATTR_FS_STATISTICS = 11
+FSINFO_ATTR_IDS = 1
+FSINFO_ATTR_LIMITS = 2
+FSINFO_ATTR_MOUNT_ALL = 518
+FSINFO_ATTR_MOUNT_CHILDREN = 517
+FSINFO_ATTR_MOUNT_INFO = 512
+FSINFO_ATTR_MOUNT_PATH = 513
+FSINFO_ATTR_MOUNT_POINT = 514
+FSINFO_ATTR_MOUNT_POINT_FULL = 515
+FSINFO_ATTR_MOUNT_TOPOLOGY = 516
+FSINFO_ATTR_SOURCE = 9
+FSINFO_ATTR_STATFS = 0
+FSINFO_ATTR_SUPPORTS = 3
+FSINFO_ATTR_TIMESTAMP_INFO = 4
+FSINFO_ATTR_VOLUME_ID = 5
+FSINFO_ATTR_VOLUME_NAME = 7
+FSINFO_ATTR_VOLUME_UUID = 6
+FSINFO_FLAGS_QUERY_FD = 1
+FSINFO_FLAGS_QUERY_MASK = 7
+FSINFO_FLAGS_QUERY_MOUNT = 2
+FSINFO_FLAGS_QUERY_PATH = 0
F_ADD_SEALS = 1033
F_DUPFD = 0
F_DUPFD_CLOEXEC = 1030
@@ -588,6 +616,7 @@ __NR_fcntl = 55
__NR_fdatasync = 148
__NR_finit_module = 353
__NR_flock = 143
+__NR_fsinfo = 442
__NR_fstat = 108
# __NR_fstat64 is not set
# __NR_fstatat64 is not set