# Copyright 2018 syzkaller project authors. All rights reserved. # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. include mount(src ptr[in, filename], dst ptr[in, filename], type ptr[in, string[filesystem]], flags flags[mount_flags], data buffer[in, opt]) umount2(path ptr[in, filename], flags flags[umount_flags]) mount$bpf(src const[0], dst ptr[in, filename], type ptr[in, string["bpf"]], flags flags[mount_flags], opts ptr[in, fs_options[bpf_options]]) filesystem = "sysfs", "rootfs", "ramfs", "tmpfs", "devtmpfs", "debugfs", "securityfs", "sockfs", "pipefs", "anon_inodefs", "devpts", "ext3", "ext2", "ext4", "hugetlbfs", "vfat", "ecryptfs", "fuseblk", "fuse", "rpc_pipefs", "nfs", "nfs4", "nfsd", "binfmt_misc", "autofs", "xfs", "jfs", "msdos", "ntfs", "minix", "hfs", "hfsplus", "qnx4", "ufs", "btrfs", "configfs", "ncpfs", "qnx6", "exofs", "befs", "vxfs", "gfs2", "gfs2meta", "fusectl", "bfs", "nsfs", "efs", "cifs", "efivarfs", "affs", "tracefs", "bdev", "ocfs2", "ocfs2_dlmfs", "hpfs", "proc", "afs", "reiserfs", "jffs2", "romfs", "aio", "sysv", "v7", "udf", "ceph", "pstore", "adfs", "9p", "hostfs", "squashfs", "cramfs", "iso9660", "coda", "nilfs2", "logfs", "overlay", "f2fs", "omfs", "ubifs", "openpromfs", "bpf", "cgroup", "cgroup2", "cpuset", "mqueue", "aufs", "selinuxfs" syz_read_part_table(size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]]) syz_mount_image$vfat(fs ptr[in, string["vfat"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[vfat_options]]) syz_mount_image$msdos(fs ptr[in, string["msdos"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[msdos_options]]) syz_mount_image$bfs(fs ptr[in, string["bfs"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts const[0]) syz_mount_image$xfs(fs ptr[in, string["xfs"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[xfs_options]]) syz_mount_image$minix(fs ptr[in, string["minix"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts const[0]) syz_mount_image$reiserfs(fs ptr[in, string["reiserfs"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[reiserfs_options]]) syz_mount_image$hfs(fs ptr[in, string["hfs"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[hfs_options]]) syz_mount_image$hfsplus(fs ptr[in, string["hfsplus"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[hfsplus_options]]) syz_mount_image$iso9660(fs ptr[in, string["iso9660"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[iso9660_options]]) syz_mount_image$gfs2(fs ptr[in, string["gfs2"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[gfs2_options]]) syz_mount_image$jfs(fs ptr[in, string["jfs"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[jfs_options]]) syz_mount_image$btrfs(fs ptr[in, string["btrfs"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[btrfs_options]]) syz_mount_image$ntfs(fs ptr[in, string["ntfs"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[ntfs_options]]) syz_mount_image$ext4(fs ptr[in, string[ext4_types]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[ext4_options]]) ext4_types = "ext4", "ext3", "ext2" syz_mount_image$f2fs(fs ptr[in, string["f2fs"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, fs_options[f2fs_options]]) syz_mount_image$ocfs2(fs ptr[in, string["ocfs2"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, string]) syz_mount_image$nfs(fs ptr[in, string["nfs"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, string]) syz_mount_image$nfs4(fs ptr[in, string["nfs4"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, string]) syz_mount_image$cifs(fs ptr[in, string["cifs"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, string]) syz_mount_image$ceph(fs ptr[in, string["ceph"]], dir ptr[in, filename], size intptr, nsegs len[segments], segments ptr[in, array[fs_image_segment]], flags flags[mount_flags], opts ptr[in, string]) fs_image_segment { data ptr[in, array[int8]] size len[data, intptr] offset intptr } type fs_options[ELEMS] { elems array[fs_opt_elem[ELEMS]] null const[0, int8] } [packed] type fs_opt_elem[ELEMS] { elem ELEMS comma const[',', int8] } [packed] type fs_opt[NAME, TYPE] { name stringnoz[NAME] eq const['=', int8] val TYPE } [packed] type fs_opt_str[NAME] fs_opt[NAME, stringnoz] type fs_opt_dec[NAME, VAL] fs_opt[NAME, fmt[dec, VAL]] type fs_opt_hex[NAME, VAL] fs_opt[NAME, fmt[hex, VAL]] type fs_opt_oct[NAME, VAL] fs_opt[NAME, fmt[oct, VAL]] type fs_opt_dec_suffix[NAME] fs_opt[NAME, array[flags[fs_opt_digits_suffix, int8]]] type fs_opt_filename[NAME] fs_opt[NAME, stringnoz[filename]] type fs_opt_codepage[NAME] fs_opt[NAME, stringnoz[codepages_names]] type fs_opt_cp_num[NAME] fs_opt[NAME, stringnoz[codepage_nums]] fs_opt_digits_suffix = '-', 'x', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'k', 'm', 'g', 't', 'p', 'e' msdos_options [ fat fat_options nodots stringnoz["nodots"] dots stringnoz["dots"] ] [varlen] vfat_options [ fat fat_options iocharset fs_opt_codepage["iocharset"] rodir stringnoz["rodir"] utf8no stringnoz["utf8=0"] utf8 stringnoz["utf8=1"] uni_xlateno stringnoz["uni_xlate=0"] uni_xlate stringnoz["uni_xlate=1"] numtail stringnoz["nonumtail=0"] nonumtail stringnoz["nnonumtail=1"] shortname_lower stringnoz["shortname=lower"] shortname_win95 stringnoz["shortname=win95"] shortname_winnt stringnoz["shortname=winnt"] shortname_mixed stringnoz["shortname=mixed"] ] [varlen] fat_options [ check_relaxed stringnoz["check=relaxed"] check_strict stringnoz["check=strict"] check_normal stringnoz["check=normal"] usefree stringnoz["usefree"] nocase stringnoz["nocase"] quiet stringnoz["quiet"] showexec stringnoz["showexec"] debug stringnoz["debug"] sys_immutable stringnoz["sys_immutable"] flush stringnoz["flush"] tz_utc stringnoz["tz=UTC"] errors_continue stringnoz["errors=continue"] errors_remount stringnoz["errors=remount-ro"] discard stringnoz["discard"] nfs stringnoz["nfs"] nfs_nostale_ro stringnoz["nfs=nostale_ro"] dos1xfloppy stringnoz["dos1xfloppy"] uid fs_opt_hex["uid", uid] gid fs_opt_hex["gid", gid] umask fs_opt_oct["umask", int32] dmask fs_opt_oct["dmask", int32] fmask fs_opt_oct["fmask", int32] allow_utime fs_opt_oct["allow_utime", int32] time_offset fs_opt_hex["time_offset", int32[-1440:1440]] codepage fs_opt_cp_num["codepage"] ] [varlen] xfs_options [ wsync stringnoz["wsync"] noalign stringnoz["noalign"] swalloc stringnoz["swalloc"] nouuid stringnoz["nouuid"] mtpt stringnoz["mtpt"] grpid stringnoz["grpid"] nogrpid stringnoz["nogrpid"] bsdgroups stringnoz["bsdgroups"] sysvgroups stringnoz["sysvgroups"] norecovery stringnoz["norecovery"] inode64 stringnoz["inode64"] inode32 stringnoz["inode32"] ikeep stringnoz["ikeep"] noikeep stringnoz["noikeep"] largeio stringnoz["largeio"] nolargeio stringnoz["nolargeio"] attr2 stringnoz["attr2"] noattr2 stringnoz["noattr2"] filestreams stringnoz["filestreams"] quota stringnoz["quota"] noquota stringnoz["noquota"] lazytime stringnoz["lazytime"] nolazytime stringnoz["nolazytime"] usrquota stringnoz["usrquota"] grpquota stringnoz["grpquota"] prjquota stringnoz["prjquota"] uquota stringnoz["uquota"] gquota stringnoz["gquota"] pquota stringnoz["pquota"] uqnoenforce stringnoz["uqnoenforce"] gqnoenforce stringnoz["gqnoenforce"] pqnoenforce stringnoz["pqnoenforce"] qnoenforce stringnoz["qnoenforce"] discard stringnoz["discard"] nodiscard stringnoz["nodiscard"] dax stringnoz["dax"] barrier stringnoz["barrier"] nobarrier stringnoz["nobarrier"] logbufs fs_opt_dec["logbufs", int32[-1:8]] biosize fs_opt_dec["biosize", int32] sunit fs_opt_hex["sunit", int32] swidth fs_opt_hex["swidth", int32] logbsize fs_opt_dec_suffix["logbsize"] allocsize fs_opt_dec_suffix["allocsize"] logdev fs_opt_filename["logdev"] rtdev fs_opt_filename["rtdev"] ] [varlen] reiserfs_options [ tails_on stringnoz["tails=on"] tails_off stringnoz["tails=off"] tails_small stringnoz["tails=small"] notail stringnoz["notail"] conv stringnoz["conv"] noattrs stringnoz["noattrs"] expose_privroot stringnoz["expose_privroot"] user_xattr stringnoz["user_xattr"] nouser_xattr stringnoz["nouser_xattr"] acl stringnoz["acl"] noacl stringnoz["noacl"] replayonly stringnoz["replayonly"] nolargeio stringnoz["nolargeio"] usrquota stringnoz["usrquota"] grpquota stringnoz["grpquota"] noquota stringnoz["noquota"] usrjquota stringnoz["usrjquota"] usrjquota_file stringnoz["usrjquota=syz"] grpjquota stringnoz["grpjquota"] commit fs_opt_hex["commit", int32] resize fs_opt_hex["resize", int32] resize_auto stringnoz["resize=auto"] jdev fs_opt_filename["jdev"] jqfmt_vfsold stringnoz["jqfmt=vfsold"] jqfmt_vfsv0 stringnoz["jqfmt=vfsv0"] hash_tea stringnoz["hash=tea"] hash_rupasov stringnoz["hash=rupasov"] hash_r5 stringnoz["hash=r5"] balloc_noborder stringnoz["block-allocator=noborder"] balloc_border stringnoz["block-allocator=border"] balloc_no_unhash_reloc stringnoz["block-allocator=no_unhashed_relocation"] balloc_hashed_reloc stringnoz["block-allocator=hashed_relocation"] balloc_test4 stringnoz["block-allocator=test4"] balloc_notest4 stringnoz["block-allocator=notest4"] barrier_none stringnoz["barrier=none"] barrier_flush stringnoz["barrier=flush"] data_ordered stringnoz["data=ordered"] data_journal stringnoz["data=journal"] data_writeback stringnoz["data=writeback"] errors_continue stringnoz["errors=continue"] errors_ro_remount stringnoz["errors=ro-remount"] ] [varlen] hfs_options [ quiet stringnoz["quiet"] umask fs_opt_oct["umask", int32] file_umask fs_opt_oct["file_umask", int32] dir_umask fs_opt_oct["dir_umask", int32] uid fs_opt_hex["uid", uid] gid fs_opt_hex["gid", gid] part fs_opt_hex["part", int32] session fs_opt_hex["session", int32] type fs_opt["type", array[int8, 4]] creator fs_opt["creator", array[int8, 4]] codepage fs_opt_codepage["codepage"] iocharset fs_opt_codepage["iocharset"] ] [varlen] hfsplus_options [ decompose stringnoz["decompose"] nodecompose stringnoz["nodecompose"] barrier stringnoz["barrier"] nobarrier stringnoz["nobarrier"] force stringnoz["force"] umask fs_opt_oct["umask", int32] type fs_opt["type", array[int8, 4]] creator fs_opt["creator", array[int8, 4]] uid fs_opt_hex["uid", uid] gid fs_opt_hex["gid", gid] part fs_opt_hex["part", int32] session fs_opt_hex["session", int32] nls fs_opt_codepage["nls"] ] [varlen] iso9660_options [ norock stringnoz["norock"] nojoliet stringnoz["nojoliet"] unhide stringnoz["unhide"] hide stringnoz["hide"] cruft stringnoz["cruft"] utf8 stringnoz["utf8"] map_acorn stringnoz["map=acorn"] map_normal stringnoz["map=normal"] map_off stringnoz["map=off"] check_relaxed stringnoz["check=relaxed"] check_strict stringnoz["check=strict"] overriderock stringnoz["overriderockperm"] nocompress stringnoz["nocompress"] session fs_opt_hex["session", int32[0:98]] sbsector fs_opt_hex["sbsector", int32] uid fs_opt_hex["uid", uid] gid fs_opt_hex["gid", gid] mode fs_opt_hex["mode", int32] dmode fs_opt_hex["dmode", int32] block fs_opt_hex["block", flags[iso9660_blocks]] iocharset fs_opt_codepage["iocharset"] ] [varlen] iso9660_blocks = 512, 1024, 2048 gfs2_options [ spectator stringnoz["spectator"] norecovery stringnoz["norecovery"] ignore_local_fs stringnoz["ignore_local_fs"] localflocks stringnoz["localflocks"] localcaching stringnoz["localcaching"] 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 stringnoz["quota"] noquota stringnoz["noquota"] suiddir stringnoz["suiddir"] nosuiddir stringnoz["nosuiddir"] data_writeback stringnoz["data=writeback"] data_ordered stringnoz["data=ordered"] meta stringnoz["meta"] discard stringnoz["discard"] nodiscard stringnoz["nodiscard"] errors_withdraw stringnoz["errors=withdraw"] barrier stringnoz["barrier"] nobarrier stringnoz["nobarrier"] rgrplvb stringnoz["rgrplvb"] norgrplvb stringnoz["norgrplvb"] loccookie stringnoz["loccookie"] noloccookie stringnoz["noloccookie"] commit fs_opt_hex["commit", int32] statfs_quantum fs_opt_hex["statfs_quantum", int32] statfs_percent fs_opt_hex["statfs_percent", int32] quota_quantum fs_opt_hex["quota_quantum", int32] lockproto_dlm stringnoz["lockproto=dlm"] lockproto_nolock stringnoz["lockproto=lock_nolock"] locktable fs_opt_str["locktable"] hostdata fs_opt_str["hostdata"] ] [varlen] jfs_options [ integrity stringnoz["integrity"] nointegrity stringnoz["nointegrity"] resize stringnoz["resize"] noquota stringnoz["noquota"] quota stringnoz["quota"] usrquota stringnoz["usrquota"] grpquota stringnoz["grpquota"] discard stringnoz["discard"] nodiscard stringnoz["nodiscard"] iocharset fs_opt_codepage["iocharset"] errors_continue stringnoz["errors=continue"] errors_remount stringnoz["errors=remount-ro"] resize_size fs_opt_hex["resize", int32] uid fs_opt_hex["uid", uid] gid fs_opt_hex["gid", gid] umask fs_opt_hex["umask", int32] discard_size fs_opt_hex["discard", int32] ] [varlen] btrfs_options [ degraded stringnoz["degraded"] nodatasum stringnoz["nodatasum"] datasum stringnoz["datasum"] nodatacow stringnoz["nodatacow"] datacow stringnoz["datacow"] nobarrier stringnoz["nobarrier"] barrier stringnoz["barrier"] compress stringnoz["compress"] compress_force stringnoz["compress-force"] ssd stringnoz["ssd"] ssd_spread stringnoz["ssd_spread"] nossd_spread stringnoz["nossd_spread"] nossd stringnoz["nossd"] acl stringnoz["acl"] noacl stringnoz["noacl"] notreelog stringnoz["notreelog"] treelog stringnoz["treelog"] flushoncommit stringnoz["flushoncommit"] noflushoncommit stringnoz["noflushoncommit"] discard stringnoz["discard"] nodiscard stringnoz["nodiscard"] space_cache stringnoz["space_cache"] clear_cache stringnoz["clear_cache"] user_subvol_rm stringnoz["user_subvol_rm_allowed"] enospc_debug stringnoz["enospc_debug"] noenospc_debug stringnoz["noenospc_debug"] autodefrag stringnoz["autodefrag"] noautodefrag stringnoz["noautodefrag"] inode_cache stringnoz["inode_cache"] noinode_cache stringnoz["noinode_cache"] nospace_cache stringnoz["nospace_cache"] usebackuproot stringnoz["usebackuproot"] skip_balance stringnoz["skip_balance"] check_int stringnoz["check_int"] check_int_data stringnoz["check_int_data"] rescan_uuid_tree stringnoz["rescan_uuid_tree"] fragment_data stringnoz["fragment=data"] fragment_metadata stringnoz["fragment=metadata"] fragment_all stringnoz["fragment=all"] ref_verify stringnoz["ref_verify"] metadata_ratio fs_opt_hex["metadata_ratio", int32] check_int_print_mask fs_opt_hex["check_int_print_mask", int32] commit fs_opt_hex["commit", int32] thread_pool fs_opt_hex["thread_pool", int32] device fs_opt_filename["device"] subvolid fs_opt_hex["subvolid", int64] subvol fs_opt_str["subvol"] max_inline fs_opt_dec_suffix["max_inline"] compress_algo fs_opt["compress", stringnoz[btrfs_compress_algos]] 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"] ] [varlen] btrfs_compress_algos = "zlib", "lzo", "zstd", "no" ntfs_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] mft_zone_multiplier fs_opt_hex["mft_zone_multiplier", int32[-1:4]] show_sys_files_no stringnoz["show_sys_files=no"] show_sys_files_yes stringnoz["show_sys_files=yes"] case_sensitive_no stringnoz["case_sensitive=no"] case_sensitive_yes stringnoz["case_sensitive=yes"] disable_sparse_no stringnoz["disable_sparse=no"] disable_sparse_yes stringnoz["disable_sparse=yes"] errors_remount stringnoz["errors=remount-ro"] errors_continue stringnoz["errors=continue"] errors_recover stringnoz["errors=recover"] nls fs_opt_codepage["nls"] utf8 stringnoz["utf8"] ] [varlen] ext4_options [ bsddf stringnoz["bsddf"] minixdf stringnoz["minixdf"] grpid stringnoz["grpid"] bsdgroups stringnoz["bsdgroups"] nogrpid stringnoz["nogrpid"] sysvgroups stringnoz["sysvgroups"] errors_continue stringnoz["errors=continue"] errors_remount stringnoz["errors=remount-ro"] nouid32 stringnoz["nouid32"] debug stringnoz["debug"] oldalloc stringnoz["oldalloc"] orlov stringnoz["orlov"] user_xattr stringnoz["user_xattr"] nouser_xattr stringnoz["nouser_xattr"] acl stringnoz["acl"] noacl stringnoz["noacl"] norecovery stringnoz["norecovery"] noload stringnoz["noload"] nobh stringnoz["nobh"] bh stringnoz["bh"] journal_checksum stringnoz["journal_checksum"] nojournal_checksum stringnoz["nojournal_checksum"] journal_async_commit stringnoz["journal_async_commit"] abort stringnoz["abort"] data_journal stringnoz["data=journal"] data_ordered stringnoz["data=ordered"] data_writeback stringnoz["data=writeback"] data_err_abort stringnoz["data_err=abort"] data_err_ignore stringnoz["data_err=ignore"] usrjquota stringnoz["usrjquota="] grpjquota stringnoz["grpjquota="] jqfmt_vfsold stringnoz["jqfmt=vfsold"] jqfmt_vfsv0 stringnoz["jqfmt=vfsv0"] jqfmt_vfsv1 stringnoz["jqfmt=vfsv1"] grpquota stringnoz["grpquota"] noquota stringnoz["noquota"] quota stringnoz["quota"] usrquota stringnoz["usrquota"] prjquota stringnoz["prjquota"] barrier stringnoz["barrier"] nobarrier stringnoz["nobarrier"] i_version stringnoz["i_version"] dax stringnoz["dax"] delalloc stringnoz["delalloc"] lazytime stringnoz["lazytime"] nolazytime stringnoz["nolazytime"] nodelalloc stringnoz["nodelalloc"] mblk_io_submit stringnoz["mblk_io_submit"] nomblk_io_submit stringnoz["nomblk_io_submit"] block_validity stringnoz["block_validity"] noblock_validity stringnoz["noblock_validity"] auto_da_alloc stringnoz["auto_da_alloc"] noauto_da_alloc stringnoz["noauto_da_alloc"] dioread_nolock stringnoz["dioread_nolock"] dioread_lock stringnoz["dioread_lock"] discard stringnoz["discard"] nodiscard stringnoz["nodiscard"] init_itable stringnoz["init_itable"] noinit_itable stringnoz["noinit_itable"] test_dummy_encryption stringnoz["test_dummy_encryption"] nombcache stringnoz["nombcache"] resgid fs_opt_hex["resgid", gid] resuid fs_opt_hex["resuid", uid] sb fs_opt_hex["sb", int32] commit fs_opt_hex["commit", int32] min_batch_time fs_opt_hex["min_batch_time", int32] max_batch_time fs_opt_hex["max_batch_time", int32] journal_dev fs_opt_hex["journal_dev", int32] barrier_val fs_opt_hex["barrier", int32] stripe fs_opt_hex["stripe", int32] debug_want_extra_isize fs_opt_hex["debug_want_extra_isize", int32] inode_readahead_blks fs_opt_hex["inode_readahead_blks", flags[ext4_inode_readahead_blks]] journal_ioprio fs_opt_hex["journal_ioprio", int32[0:7]] auto_da_alloc_val fs_opt_hex["auto_da_alloc", int32] init_itable_val fs_opt_hex["init_itable", int32] max_dir_size_kb fs_opt_hex["max_dir_size_kb", int32] journal_path fs_opt_filename["journal_path"] grpjquota_path fs_opt_filename["grpjquota"] usrjquota_path fs_opt_filename["usrjquota"] ] [varlen] ext4_inode_readahead_blks = 0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000, 0x20000, 0x40000, 0x80000, 0x100000, 0x200000, 0x400000, 0x800000, 0x1000000, 0x2000000, 0x4000000, 0x8000000 f2fs_options [ background_gc_sync stringnoz["background_gc=sync"] background_gc_off stringnoz["background_gc=off"] background_gc_on stringnoz["background_gc=on"] disable_roll_forward stringnoz["disable_roll_forward"] norecovery stringnoz["norecovery"] discard stringnoz["discard"] nodiscard stringnoz["nodiscard"] noheap stringnoz["noheap"] heap stringnoz["heap"] user_xattr stringnoz["user_xattr"] nouser_xattr stringnoz["nouser_xattr"] acl stringnoz["acl"] noacl stringnoz["noacl"] six_active_logs stringnoz["active_logs=6"] four_active_logs stringnoz["active_logs=4"] two_active_logs stringnoz["active_logs=2"] disable_ext_identify stringnoz["disable_ext_identify"] inline_xattr stringnoz["inline_xattr"] noinline_xattr stringnoz["noinline_xattr"] inline_xattr_size fs_opt_hex["inline_xattr_size", int32] inline_data stringnoz["inline_data"] noinline_data stringnoz["noinline_data"] inline_dentry stringnoz["inline_dentry"] noinline_dentry stringnoz["noinline_dentry"] flush_merge stringnoz["flush_merge"] noflush_merge stringnoz["noflush_merge"] nobarrier stringnoz["nobarrier"] fastboot stringnoz["fastboot"] extent_cache stringnoz["extent_cache"] noextent_cache stringnoz["noextent_cache"] data_flush stringnoz["data_flush"] adaptive_mode stringnoz["mode=adaptive"] lfs_mode stringnoz["mode=lfs"] resgid fs_opt_hex["resgid", gid] resuid fs_opt_hex["resuid", uid] lazytime stringnoz["lazytime"] nolazytime stringnoz["nolazytime"] quota stringnoz["quota"] noquota stringnoz["noquota"] usrquota fs_opt_str["usrquota"] grpquota fs_opt_str["grpquota"] prjquota fs_opt_str["prjquota"] usrjquota fs_opt_str["usrjquota"] grpjquota fs_opt_str["grpjquota"] prjjquota fs_opt_str["prjjquota"] jqfmt_vfsold stringnoz["jqfmt=vfsold"] jqfmt_vfsv0 stringnoz["jqfmt=vfsv0"] jqfmt_vfsv1 stringnoz["jqfmt=vfsv1"] whint_mode_user stringnoz["whint_mode=user-based"] whint_mode_off stringnoz["whint_mode=off"] whint_mode_fs stringnoz["whint_mode=fs-based"] alloc_mode_def stringnoz["alloc_mode=default"] alloc_mode_reuse stringnoz["alloc_mode=reuse"] fsync_mode_posix stringnoz["fsync_mode=posix"] fsync_mode_strict stringnoz["fsync_mode=strict"] test_dummy_encryption stringnoz["test_dummy_encryption"] ] [varlen] bpf_options [ mode fs_opt_oct["mode", int32] ] [varlen] codepage_nums = "1250", "1251", "1255", "437", "737", "775", "850", "852", "855", "857", "860", "861", "862", "863", "864", "865", "866", "869", "874", "932", "936", "949", "950" codepages_names = "macceltic", "maccenteuro", "maccroatian", "maccyrillic", "macgaelic", "macgreek", "maciceland", "macinuit", "macroman", "macromanian", "macturkish", "ascii", "default", "cp1250", "cp1251", "cp1255", "cp437", "cp737", "cp775", "cp850", "cp852", "cp855", "cp857", "cp860", "cp861", "cp862", "cp863", "cp864", "cp865", "cp866", "cp869", "cp874", "cp932", "cp936", "cp949", "cp950", "euc-jp", "iso8859-13", "iso8859-14", "iso8859-15", "iso8859-1", "iso8859-2", "iso8859-3", "iso8859-4", "iso8859-5", "iso8859-6", "iso8859-7", "iso8859-9", "koi8-r", "koi8-ru", "koi8-u", "utf8", "none" mount_flags = MS_BIND, MS_DIRSYNC, MS_MANDLOCK, MS_MOVE, MS_NOATIME, MS_NODEV, MS_NODIRATIME, MS_NOEXEC, MS_NOSUID, MS_RDONLY, MS_RELATIME, MS_REMOUNT, MS_SILENT, MS_STRICTATIME, MS_SYNCHRONOUS, MS_REC, MS_POSIXACL, MS_UNBINDABLE, MS_PRIVATE, MS_SLAVE, MS_SHARED, MS_I_VERSION, MS_LAZYTIME umount_flags = MNT_FORCE, MNT_DETACH, MNT_EXPIRE, UMOUNT_NOFOLLOW