| # 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 <uapi/linux/mount.h> |
| include <linux/fs.h> |
| |
| mount(src ptr[in, blockdev_filename], dst ptr[in, filename], type ptr[in, string[filesystem]], flags flags[mount_flags], data ptr[in, string, 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]]) |
| mount$overlay(src const[0], dst ptr[in, filename], type ptr[in, string["overlay"]], flags flags[mount_flags], opts ptr[in, fs_options[overlay_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", "dax", "erofs" |
| |
| blockdev_filename [ |
| filename filename |
| nbd nbd_filename |
| loop loop_filename |
| nullb string["/dev/nullb0"] |
| md0 string["/dev/md0"] |
| sg0 string["/dev/sg0"] |
| sr0 string["/dev/sr0"] |
| ] [varlen] |
| |
| nbd_filename { |
| prefix stringnoz["/dev/nbd"] |
| id proc['0', 1, int8] |
| z const[0, int8] |
| } [packed] |
| |
| loop_filename { |
| prefix stringnoz["/dev/loop"] |
| id proc['0', 1, int8] |
| z const[0, int8] |
| } [packed] |
| |
| 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]) |
| |
| syz_mount_image$erofs(fs ptr[in, string["erofs"]], 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[erofs_options]]) |
| |
| fs_image_segment { |
| data ptr[in, array[int8]] |
| size len[data, intptr] |
| offset intptr |
| } |
| |
| type fs_options[ELEMS] { |
| elems array[fs_opt_elem[ELEMS]] |
| security array[fs_opt_elem[fs_options_security]] |
| 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_nodelim[NAME, TYPE] { |
| name stringnoz[NAME] |
| 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' |
| |
| fs_options_security [ |
| # SELinux options: |
| context fs_opt["context", stringnoz[selinux_user_context]] |
| fscontext fs_opt["fscontext", stringnoz[selinux_user_context]] |
| rootcontext fs_opt["rootcontext", stringnoz[selinux_user_context]] |
| defcontext fs_opt["defcontext", stringnoz[selinux_user_context]] |
| seclabel stringnoz["seclabel"] |
| |
| # Smack options: |
| smackfsdef fs_opt_str["smackfsdef"] |
| smackfsfloor fs_opt_str["smackfsfloor"] |
| smackfshat fs_opt_str["smackfshat"] |
| smackfsroot fs_opt_str["smackfsroot"] |
| smackfstransmute fs_opt_str["smackfstransmute"] |
| |
| # IMA options: |
| measure stringnoz["measure"] |
| dont_measure stringnoz["dont_measure"] |
| appraise stringnoz["appraise"] |
| dont_appraise stringnoz["dont_appraise"] |
| audit stringnoz["audit"] |
| hash stringnoz["hash"] |
| dont_hash stringnoz["dont_hash"] |
| permit_directio stringnoz["permit_directio"] |
| obj_user fs_opt_str["obj_user"] |
| obj_role fs_opt_str["obj_role"] |
| obj_type fs_opt_str["obj_type"] |
| subj_user fs_opt_str["subj_user"] |
| subj_role fs_opt_str["subj_role"] |
| subj_type fs_opt_str["subj_type"] |
| func fs_opt["func", stringnoz[ima_funcs]] |
| mask fs_opt["mask", stringnoz[ima_masks]] |
| fsmagic fs_opt_hex["fsmagic", intptr] |
| fsname fs_opt_str["fsname"] |
| fsuuid fs_opt["fsuuid", uuid_str] |
| uid_eq fs_opt_dec["uid", uid] |
| euid_eq fs_opt_dec["euid", uid] |
| fowner_eq fs_opt_dec["fowner", uid] |
| uid_gt fs_opt_nodelim["uid>", fmt[dec, uid]] |
| euid_gt fs_opt_nodelim["euid>", fmt[dec, uid]] |
| fowner_gt fs_opt_nodelim["fowner>", fmt[dec, uid]] |
| uid_lt fs_opt_nodelim["uid<", fmt[dec, uid]] |
| euid_lt fs_opt_nodelim["euid<", fmt[dec, uid]] |
| fowner_lt fs_opt_nodelim["fowner<", fmt[dec, uid]] |
| appraise_type stringnoz["appraise_type=imasig"] |
| pcr fs_opt_dec["pcr", int64[0:64]] |
| ] [varlen] |
| |
| uuid_str { |
| p0 array[flags[hex_chars, int8], 8] |
| d0 const['-', int8] |
| p1 array[flags[hex_chars, int8], 4] |
| d1 const['-', int8] |
| p2 array[flags[hex_chars, int8], 4] |
| d2 const['-', int8] |
| p3 array[flags[hex_chars, int8], 4] |
| d3 const['-', int8] |
| p4 array[flags[hex_chars, int8], 8] |
| } |
| |
| hex_chars = '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' |
| |
| ima_funcs = "FILE_CHECK", "PATH_CHECK", "MODULE_CHECK", "FIRMWARE_CHECK", "FILE_MMAP", "MMAP_CHECK", "BPRM_CHECK", "CREDS_CHECK", "KEXEC_KERNEL_CHECK", "KEXEC_INITRAMFS_CHECK", "POLICY_CHECK" |
| ima_masks = "MAY_EXEC", "MAY_WRITE", "MAY_READ", "MAY_APPEND", "^MAY_EXEC", "^MAY_WRITE", "^MAY_READ", "^MAY_APPEND" |
| |
| 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] |
| |
| overlay_options [ |
| lowerdir fs_opt_filename["lowerdir"] |
| upperdir fs_opt_filename["upperdir"] |
| workdir fs_opt_filename["workdir"] |
| redirect_dir fs_opt_filename["redirect_dir"] |
| default_permissions stringnoz["default_permissions"] |
| index_on stringnoz["index=on"] |
| index_off stringnoz["index=off"] |
| nfs_export_on stringnoz["nfs_export=on"] |
| nfs_export_off stringnoz["nfs_export=off"] |
| xino_on stringnoz["xino=on"] |
| xino_off stringnoz["xino=off"] |
| xino_auto stringnoz["xino=auto"] |
| metacopy_on stringnoz["metacopy=on"] |
| metacopy_off stringnoz["metacopy=off"] |
| ] [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] |
| ] [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 |