aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/filesystem.txt
diff options
context:
space:
mode:
authorViacheslav Sablin <sjava1902@gmail.com>2024-08-27 18:52:22 +0300
committerAleksandr Nogikh <nogikh@google.com>2024-08-27 16:04:13 +0000
commit6c853ff934ae691d82d2ddf8d401fdd07ed4ab74 (patch)
tree2a671ac52147c86760783db6023bff02cf17baec /sys/linux/filesystem.txt
parente4f3ea1bc2e083feadcf5a6083a5d7e74e9fc53e (diff)
sys/linux/filesystem: add mount flags for filesystems
Diffstat (limited to 'sys/linux/filesystem.txt')
-rw-r--r--sys/linux/filesystem.txt222
1 files changed, 172 insertions, 50 deletions
diff --git a/sys/linux/filesystem.txt b/sys/linux/filesystem.txt
index 5e7389cb6..39b5c7320 100644
--- a/sys/linux/filesystem.txt
+++ b/sys/linux/filesystem.txt
@@ -150,7 +150,7 @@ syz_mount_image$ubifs(fs ptr[in, string["ubifs"]], dir ptr[in, filename], flags
# TODO: add mount options for the following file systems.
syz_mount_image$adfs(fs ptr[in, string["adfs"]], dir ptr[in, filename], flags flags[mount_flags], opts ptr[in, fs_options[adfs_options]], chdir bool8, size len[img], img ptr[in, compressed_image]) fd_dir (timeout[SYZ_MOUNT_IMAGE_TIMEOUT], no_generate, no_minimize)
-syz_mount_image$affs(fs ptr[in, string["affs"]], dir ptr[in, filename], flags flags[mount_flags], opts ptr[in, fs_options[stringnoz]], chdir bool8, size len[img], img ptr[in, compressed_image]) fd_dir (timeout[SYZ_MOUNT_IMAGE_TIMEOUT], no_generate, no_minimize)
+syz_mount_image$affs(fs ptr[in, string["affs"]], dir ptr[in, filename], flags flags[mount_flags], opts ptr[in, fs_options[affs_options]], chdir bool8, size len[img], img ptr[in, compressed_image]) fd_dir (timeout[SYZ_MOUNT_IMAGE_TIMEOUT], no_generate, no_minimize)
syz_mount_image$befs(fs ptr[in, string["befs"]], dir ptr[in, filename], flags flags[mount_flags], opts ptr[in, fs_options[stringnoz]], chdir bool8, size len[img], img ptr[in, compressed_image]) fd_dir (timeout[SYZ_MOUNT_IMAGE_TIMEOUT], no_generate, no_minimize)
syz_mount_image$vxfs(fs ptr[in, string["vxfs"]], dir ptr[in, filename], flags flags[mount_flags], opts ptr[in, fs_options[vxfs_options]], chdir bool8, size len[img], img ptr[in, compressed_image]) fd_dir (timeout[SYZ_MOUNT_IMAGE_TIMEOUT], no_generate, no_minimize)
syz_mount_image$omfs(fs ptr[in, string["omfs"]], dir ptr[in, filename], flags flags[mount_flags], opts ptr[in, fs_options[omfs_options]], chdir bool8, size len[img], img ptr[in, compressed_image]) fd_dir (timeout[SYZ_MOUNT_IMAGE_TIMEOUT], no_generate, no_minimize)
@@ -304,6 +304,7 @@ fat_options [
discard stringnoz["discard"]
nfs stringnoz["nfs"]
nfs_nostale_ro stringnoz["nfs=nostale_ro"]
+ nfs_stale_rw stringnoz["nfs=stale_rw"]
dos1xfloppy stringnoz["dos1xfloppy"]
uid fs_opt_hex["uid", uid]
gid fs_opt_hex["gid", gid]
@@ -352,6 +353,9 @@ xfs_options [
discard stringnoz["discard"]
nodiscard stringnoz["nodiscard"]
dax stringnoz["dax"]
+ dax_inode stringnoz["dax=inode"]
+ dax_always stringnoz["dax=always"]
+ dax_never stringnoz["dax=never"]
barrier stringnoz["barrier"]
nobarrier stringnoz["nobarrier"]
logbufs fs_opt_dec["logbufs", int32[-1:8]]
@@ -444,6 +448,7 @@ iso9660_options [
nojoliet stringnoz["nojoliet"]
unhide stringnoz["unhide"]
hide stringnoz["hide"]
+ showassoc stringnoz["showassoc"]
cruft stringnoz["cruft"]
utf8 stringnoz["utf8"]
map_acorn stringnoz["map=acorn"]
@@ -471,12 +476,15 @@ gfs2_options [
ignore_local_fs stringnoz["ignore_local_fs"]
localflocks stringnoz["localflocks"]
localcaching stringnoz["localcaching"]
+ debug stringnoz["debug"]
+ nodebug stringnoz["nodebug"]
upgrade stringnoz["upgrade"]
acl stringnoz["acl"]
noacl stringnoz["noacl"]
quota_off stringnoz["quota=off"]
quota_account stringnoz["quota=account"]
quota_on stringnoz["quota=on"]
+ quota_quiet stringnoz["quota=quiet"]
quota stringnoz["quota"]
noquota stringnoz["noquota"]
suiddir stringnoz["suiddir"]
@@ -545,6 +553,9 @@ btrfs_options [
noflushoncommit stringnoz["noflushoncommit"]
discard stringnoz["discard"]
nodiscard stringnoz["nodiscard"]
+ discard_sync stringnoz["discard=sync"]
+ discard_async stringnoz["discard=async"]
+ fatal_errors_bug stringnoz["fatal_errors=bug"]
space_cache stringnoz["space_cache"]
clear_cache stringnoz["clear_cache"]
user_subvol_rm stringnoz["user_subvol_rm_allowed"]
@@ -576,9 +587,11 @@ btrfs_options [
compress_force_algo fs_opt["compress-force", stringnoz[btrfs_compress_algos]]
space_cache_v1 stringnoz["space_cache=v1"]
space_cache_v2 stringnoz["space_cache=v2"]
+ rescue fs_opt["rescue", stringnoz[btrfs_rescue_opts]]
] [varlen]
btrfs_compress_algos = "zlib", "lzo", "zstd", "no"
+btrfs_rescue_opts = "usebackuproot", "nologreplay", "ignorebadroots", "ibadroots", "ignoredatacsums", "ignoremetacsums", "ignoresuperflags", "idatacsums", "imetacsums", "isuperflags", "all"
ntfs_options [
uid fs_opt_hex["uid", uid]
@@ -601,21 +614,35 @@ ntfs_options [
] [varlen]
ntfs3_options [
- uid fs_opt_hex["uid", uid]
- gid fs_opt_hex["gid", gid]
- umask fs_opt_oct["umask", int32]
- fmask fs_opt_oct["fmask", int32]
- dmask fs_opt_oct["dmask", int32]
- noacsrules stringnoz["noacsrules"]
- nohidden stringnoz["nohidden"]
- sys_immutable stringnoz["sys_immutable"]
- discard stringnoz["discard"]
- force stringnoz["force"]
- sparse stringnoz["sparse"]
- showmeta stringnoz["showmeta"]
- prealloc stringnoz["prealloc"]
- acl stringnoz["acl"]
- iocharset fs_opt_codepage["iocharset"]
+ uid fs_opt_hex["uid", uid]
+ gid fs_opt_hex["gid", gid]
+ umask fs_opt_oct["umask", int32]
+ fmask fs_opt_oct["fmask", int32]
+ dmask fs_opt_oct["dmask", int32]
+ noacsrules stringnoz["noacsrules"]
+ hidden stringnoz["hidden"]
+ nohidden stringnoz["nohidden"]
+ sys_immutable stringnoz["sys_immutable"]
+ nosys_immutable stringnoz["nosys_immutable"]
+ discard stringnoz["discard"]
+ nodiscard stringnoz["discard"]
+ force stringnoz["force"]
+ noforce stringnoz["noforce"]
+ sparse stringnoz["sparse"]
+ nosparse stringnoz["nosparse"]
+ hide_dot_files stringnoz["hide_dot_files"]
+ nohide_dot_files stringnoz["nohide_dot_files"]
+ windows_names stringnoz["windows_names"]
+ nowindows_names stringnoz["windows_names"]
+ showmeta stringnoz["showmeta"]
+ noshowmeta stringnoz["noshowmeta"]
+ prealloc stringnoz["prealloc"]
+ noprealloc stringnoz["noprealloc"]
+ acl stringnoz["acl"]
+ noacl stringnoz["noacl"]
+ iocharset fs_opt_codepage["iocharset"]
+ case stringnoz["case"]
+ nocase stringnoz["nocase"]
] [varlen]
ext4_options [
@@ -865,11 +892,17 @@ binder_options [
] [varlen]
erofs_options [
- user_xattr stringnoz["user_xattr"]
- nouser_xattr stringnoz["nouser_xattr"]
- acl stringnoz["acl"]
- noacl stringnoz["noacl"]
- fault_injection fs_opt_hex["fault_injection", int32]
+ user_xattr stringnoz["user_xattr"]
+ nouser_xattr stringnoz["nouser_xattr"]
+ acl stringnoz["acl"]
+ noacl stringnoz["noacl"]
+ fault_injection fs_opt_hex["fault_injection", int32]
+ cache_strategy_disabled stringnoz["cache_strategy=disabled"]
+ cache_strategy_readahead stringnoz["cache_strategy=readahead"]
+ cache_strategy_readaround stringnoz["cache_strategy=readaround"]
+ dax stringnoz["dax"]
+ dax_always stringnoz["dax=always"]
+ dax_never stringnoz["dax=never"]
] [varlen]
exfat_options [
@@ -886,6 +919,10 @@ exfat_options [
errors_continue stringnoz["errors=continue"]
utf8 stringnoz["utf8"]
discard stringnoz["discard"]
+ keep_last_dots stringnoz["keep_last_dots"]
+ sys_tz stringnoz["sys_tz"]
+ time_offset fs_opt_hex["time_offset", int32]
+ zero_size_dir stringnoz["zero_size_dir"]
] [varlen]
# TODO: afs should be configured via /proc/fs/afs/{cells,servers} (see fs/afs/proc.c).
@@ -918,17 +955,27 @@ afs_options [
] [varlen]
tmpfs_options [
- uid fs_opt_hex["uid", uid]
- gid fs_opt_hex["gid", gid]
- mode fs_opt_oct["mode", int32]
- nr_blocks fs_opt_dec_suffix["nr_blocks"]
- nr_inodes fs_opt_dec_suffix["nr_inodes"]
- size fs_opt_dec_suffix["size"]
- huge_never stringnoz["huge=never"]
- huge_always stringnoz["huge=always"]
- huge_within_size stringnoz["huge=within_size"]
- huge_advise stringnoz["huge=advise"]
- mpol fs_opt["mpol", tmpfs_mpol]
+ uid fs_opt_hex["uid", uid]
+ gid fs_opt_hex["gid", gid]
+ mode fs_opt_oct["mode", int32]
+ nr_blocks fs_opt_dec_suffix["nr_blocks"]
+ nr_inodes fs_opt_dec_suffix["nr_inodes"]
+ size fs_opt_dec_suffix["size"]
+ huge_never stringnoz["huge=never"]
+ huge_always stringnoz["huge=always"]
+ huge_within_size stringnoz["huge=within_size"]
+ huge_advise stringnoz["huge=advise"]
+ mpol fs_opt["mpol", tmpfs_mpol]
+ inode32 stringnoz["inode32"]
+ inode64 stringnoz["indo64"]
+ noswap stringnoz["noswap"]
+ quota stringnoz["quota"]
+ usrquota stringnoz["usrquota"]
+ grpquota stringnoz["grpquota"]
+ usrquota_block_hardlimit fs_opt_dec_suffix["usrquota_block_hardlimit"]
+ usrquota_inode_hardlimit fs_opt_dec_suffix["usrquota_inode_hardlimit"]
+ grpquota_block_hardlimit fs_opt_dec_suffix["grpquota_block_hardlimit"]
+ grpquota_inode_hardlimit fs_opt_dec_suffix["grpquota_inode_hardlimit"]
] [varlen]
tmpfs_mpol {
@@ -947,6 +994,7 @@ tmpfs_mpol_flags = "", "=static", "=relative"
tmpfs_mpol_node_chars = '-', ':', '/', ',', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
zonefs_options [
+ errors_remount_ro stringnoz["errors=remount-ro"]
errors_zone_ro stringnoz["errors=zone-ro"]
errors_zone_offline stringnoz["errors=zone-offline"]
errors_repair stringnoz["errors=repair"]
@@ -961,14 +1009,16 @@ jffs2_options [
] [varlen]
nilfs2_options [
- barrier stringnoz["barrier"]
- nobarrier stringnoz["nobarrier"]
- norecovery stringnoz["norecovery"]
- discard stringnoz["discard"]
- nodiscard stringnoz["nodiscard"]
- snapshot fs_opt_hex["snapshot", int32[0:3]]
- order_relaxed stringnoz["order=relaxed"]
- order_strict stringnoz["order=strict"]
+ barrier stringnoz["barrier"]
+ nobarrier stringnoz["nobarrier"]
+ norecovery stringnoz["norecovery"]
+ discard stringnoz["discard"]
+ nodiscard stringnoz["nodiscard"]
+ snapshot fs_opt_hex["cp", int32[0:3]]
+ order_relaxed stringnoz["order=relaxed"]
+ order_strict stringnoz["order=strict"]
+ errors_continue stringnoz["errors=continue"]
+ errors_remount_ro stringnoz["errors=remount-ro"]
] [varlen]
squashfs_options [
@@ -1002,6 +1052,21 @@ adfs_options [
ftsuffix fs_opt_dec["ftsuffix", int32]
] [varlen]
+affs_options [
+ bs fs_opt_hex["bs", flags[affs_bs]]
+ mode fs_opt_oct["mode", int32]
+ mufs stringnoz["mufs"]
+ notruncate stringnoz["nofilenametruncate"]
+ protect stringnoz["protect"]
+ reserved fs_opt_dec["reserved", int32]
+ root fs_opt_dec["root", int32]
+ setuid fs_opt_hex["setuid", uid]
+ setgid fs_opt_hex["setgid", gid]
+ verbose stringnoz["verbose"]
+] [varlen]
+
+affs_bs = 512, 1024, 2048, 4096
+
vxfs_options [
uid fs_opt_hex["uid", uid]
gid fs_opt_hex["gid", gid]
@@ -1098,17 +1163,69 @@ esdfs_options [
esdfs_derive = "none", "legacy", "unified", "multi", "public"
bcachefs_options [
- metadata_checksum fs_opt["metadata_checksum", stringnoz[bcachefs_checksum]]
- data_checksum fs_opt["data_checksum", stringnoz[bcachefs_checksum]]
- compression fs_opt["compression", stringnoz[bcachefs_compression]]
- background_compression fs_opt["background_compression", stringnoz[bcachefs_compression]]
- str_hash fs_opt["str_hash", stringnoz[bcachefs_str_hash]]
- nocow stringnoz["nocow"]
+ metadata_checksum fs_opt["metadata_checksum", stringnoz[bcachefs_checksum]]
+ data_checksum fs_opt["data_checksum", stringnoz[bcachefs_checksum]]
+ compression fs_opt["compression", stringnoz[bcachefs_compression]]
+ background_compression fs_opt["background_compression", stringnoz[bcachefs_compression]]
+ str_hash fs_opt["str_hash", stringnoz[bcachefs_str_hash]]
+ nocow stringnoz["nocow"]
+ errors_continue stringnoz["errors=continue"]
+ errors_fix_safe stringnoz["errors=fix_safe"]
+ errors_ro stringnoz["error=ro"]
+ metadata_replicas fs_opt_hex["metadata_replicas", int32[1:4]]
+ data_replicas fs_opt_hex["data_replicas", int32[1:4]]
+ metadata_replicas_required fs_opt_hex["metadata_replicas_required", int32[1:4]]
+ data_replicas_required fs_opt_hex["data_replicas_required", int32[1:4]]
+ erasure_code stringnoz["erasure_code"]
+ inodes_32bit stringnoz["inodes_32bit"]
+ shared_inode_numbers stringnoz["shard_inode_numbers"]
+ inodes_use_key_cache stringnoz["inodes_use_key_cache"]
+ btree_node_mem_ptr_optimization stringnoz["btree_node_mem_ptr_optimization"]
+ gc_reserve_percent fs_opt_hex["gc_reserve_percent", int32[5:21]]
+ gc_reserve_bytes fs_opt_hex["gc_reserve_bytes", int32]
+ root_reserve_percent fs_opt_hex["root_reserve_percent", int32[0:100]]
+ wide_macs stringnoz["wide_macs"]
+ inline_data stringnoz["inline_data"]
+ acl stringnoz["acl"]
+ usrquota stringnoz["usrquota"]
+ grpquota stringnoz["grpquota"]
+ prjquota stringnoz["prjquota"]
+ degraded stringnoz["degraded"]
+ very_degraded stringnoz["very_degraded"]
+ no_splitbrain_check stringnoz["no_splitbrain_check"]
+ discard stringnoz["discard"]
+ verbose stringnoz["verbose"]
+ journal_flush_delay fs_opt_hex["journal_flush_delay", int32]
+ journal_flush_disabled stringnoz["journal_flush_disabled"]
+ journal_reclaim_delay fs_opt_hex["journal_reclaim_delay", int32]
+ move_bytes_in_flight fs_opt_hex["move_bytes_in_flight", int32]
+ move_ios_in_flight fs_opt_hex["move_ios_in_flight", int32[1:1024]]
+ fsck stringnoz["fsck"]
+ fsck_memory_usage_percent fs_opt_hex["fsck_memory_usage_percent", int32[20:70]]
+ fix_errors fs_opt["fix_errors", stringnoz[bcachefs_fix_errors]]
+ ratelimit_errors stringnoz["ratelimit_errors"]
+ nochanges stringnoz["nochanges"]
+ norecovery stringnoz["norecovery"]
+ recovery_pass_last fs_opt["recovery_pass_last", stringnoz[bcachefs_recovery_pass_last]]
+ journal_transaction_names stringnoz["journal_transaction_names"]
+ allocator_stuck_timeout fs_opt_hex["allocator_stuck_timeout", int16]
+ noexcl stringnoz["noexcl"]
+ direct_io stringnoz["direct_io"]
+ sb fs_opt_hex["sb", int32]
+ read_only stringnoz["read_only"]
+ reconstruct_alloc stringnoz["reconstruct_alloc"]
+ version_upgrade fs_opt["version_upgrade", stringnoz[bcachefs_version_upgrade]]
+ nocow_enabled stringnoz["nocow_enabled"]
+ no_data_io stringnoz["no_data_io"]
+ btree_node_prefetch stringnoz["btree_node_prefetch"]
] [varlen]
bcachefs_checksum = "none", "crc32c", "crc64", "xxhash"
bcachefs_compression = "none", "lz4", "gzip", "zstd"
bcachefs_str_hash = "crc32c", "crc64", "siphash"
+bcachefs_fix_errors = "exit", "yes", "no", "ask"
+bcachefs_version_upgrade = "compatible", "incompatible", "none"
+bcachefs_recovery_pass_last = "scan_for_btree_nodes", "check_topology", "accounting_read", "alloc_read", "stripes_read", "initialize_subvolumes", "snapshots_read", "check_allocations", "trans_mark_dev_sbs", "fs_journal_alloc", "set_may_go_rw", "journal_replay", "check_alloc_info", "check_lrus", "check_btree_backpointers", "check_backpointers_to_extents", "check_extents_to_backpointers", "check_alloc_to_lru_refs", "fs_freespace_init", "bucket_gens_init", "reconstruct_snapshots", "check_snapshot_trees", "check_snapshots", "check_subvols", "check_subvol_children", "delete_dead_snapshots", "fs_upgrade_for_subvolumes", "check_inodes", "check_extents", "check_indirect_extents", "check_dirents", "check_xattrs", "check_root", "check_subvolume_structure", "check_directory_structure", "check_nlinks", "resume_logged_ops", "delete_dead_inodes", "fix_reflink_p", "set_fs_needs_rebalance"
cgroup_options [
all stringnoz["all"]
@@ -1119,14 +1236,19 @@ cgroup_options [
noprefix stringnoz["noprefix"]
release_agent fs_opt_filename["release_agent"]
xattr stringnoz["xattr"]
+ favordynmods stringnoz["favordynmods"]
+ nofavordynmods stringnoz["nofavordynmods"]
subsystem stringnoz[cgroup_subsystems]
] [varlen]
cgroup2_options [
- nsdelegate stringnoz["nsdelegate"]
- memory_localevents stringnoz["memory_localevents"]
- memory_recursiveprot stringnoz["memory_recursiveprot"]
- subsystem stringnoz[cgroup_subsystems]
+ nsdelegate stringnoz["nsdelegate"]
+ favordynmods stringnoz["favordynmods"]
+ memory_localevents stringnoz["memory_localevents"]
+ memory_recursiveprot stringnoz["memory_recursiveprot"]
+ memory_hugetlb_accounting stringnoz["memory_hugetlb_accounting"]
+ pids_localevents stringnoz["pids_localevents"]
+ subsystem stringnoz[cgroup_subsystems]
] [varlen]
ufs_options [