123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389 |
- # SPDX-License-Identifier: GPL-2.0-only
- #
- # File system configuration
- #
- menu "File systems"
- # Use unaligned word dcache accesses
- config DCACHE_WORD_ACCESS
- bool
- config VALIDATE_FS_PARSER
- bool "Validate filesystem parameter description"
- help
- Enable this to perform validation of the parameter description for a
- filesystem when it is registered.
- config FS_IOMAP
- bool
- if BLOCK
- source "fs/ext2/Kconfig"
- source "fs/ext4/Kconfig"
- source "fs/jbd2/Kconfig"
- config FS_MBCACHE
- # Meta block cache for Extended Attributes (ext2/ext3/ext4)
- tristate
- default y if EXT2_FS=y && EXT2_FS_XATTR
- default y if EXT4_FS=y
- default m if EXT2_FS_XATTR || EXT4_FS
- source "fs/reiserfs/Kconfig"
- source "fs/jfs/Kconfig"
- source "fs/xfs/Kconfig"
- source "fs/gfs2/Kconfig"
- source "fs/ocfs2/Kconfig"
- source "fs/btrfs/Kconfig"
- source "fs/nilfs2/Kconfig"
- source "fs/f2fs/Kconfig"
- source "fs/zonefs/Kconfig"
- endif # BLOCK
- config FS_DAX
- bool "File system based Direct Access (DAX) support"
- depends on MMU
- depends on !(ARM || MIPS || SPARC)
- depends on ZONE_DEVICE || FS_DAX_LIMITED
- select FS_IOMAP
- select DAX
- help
- Direct Access (DAX) can be used on memory-backed block devices.
- If the block device supports DAX and the filesystem supports DAX,
- then you can avoid using the pagecache to buffer I/Os. Turning
- on this option will compile in support for DAX.
- For a DAX device to support file system access it needs to have
- struct pages. For the nfit based NVDIMMs this can be enabled
- using the ndctl utility:
- # ndctl create-namespace --force --reconfig=namespace0.0 \
- --mode=fsdax --map=mem
- See the 'create-namespace' man page for details on the overhead of
- --map=mem:
- https://docs.pmem.io/ndctl-user-guide/ndctl-man-pages/ndctl-create-namespace
- For ndctl to work CONFIG_DEV_DAX needs to be enabled as well. For most
- file systems DAX support needs to be manually enabled globally or
- per-inode using a mount option as well. See the file documentation in
- Documentation/filesystems/dax.rst for details.
- If you do not have a block device that is capable of using this,
- or if unsure, say N. Saying Y will increase the size of the kernel
- by about 5kB.
- config FS_DAX_PMD
- bool
- default FS_DAX
- depends on FS_DAX
- depends on ZONE_DEVICE
- depends on TRANSPARENT_HUGEPAGE
- # Selected by DAX drivers that do not expect filesystem DAX to support
- # get_user_pages() of DAX mappings. I.e. "limited" indicates no support
- # for fork() of processes with MAP_SHARED mappings or support for
- # direct-I/O to a DAX mapping.
- config FS_DAX_LIMITED
- bool
- # Posix ACL utility routines
- #
- # Note: Posix ACLs can be implemented without these helpers. Never use
- # this symbol for ifdefs in core code.
- #
- config FS_POSIX_ACL
- def_bool n
- config EXPORTFS
- tristate
- config EXPORTFS_BLOCK_OPS
- bool "Enable filesystem export operations for block IO"
- help
- This option enables the export operations for a filesystem to support
- external block IO.
- config FILE_LOCKING
- bool "Enable POSIX file locking API" if EXPERT
- default y
- help
- This option enables standard file locking support, required
- for filesystems like NFS and for the flock() system
- call. Disabling this option saves about 11k.
- source "fs/crypto/Kconfig"
- source "fs/verity/Kconfig"
- source "fs/notify/Kconfig"
- source "fs/quota/Kconfig"
- source "fs/autofs/Kconfig"
- source "fs/fuse/Kconfig"
- source "fs/overlayfs/Kconfig"
- source "fs/incfs/Kconfig"
- menu "Caches"
- source "fs/netfs/Kconfig"
- source "fs/fscache/Kconfig"
- source "fs/cachefiles/Kconfig"
- endmenu
- if BLOCK
- menu "CD-ROM/DVD Filesystems"
- source "fs/isofs/Kconfig"
- source "fs/udf/Kconfig"
- endmenu
- endif # BLOCK
- if BLOCK
- menu "DOS/FAT/EXFAT/NT Filesystems"
- source "fs/fat/Kconfig"
- source "fs/exfat/Kconfig"
- source "fs/ntfs/Kconfig"
- source "fs/ntfs3/Kconfig"
- endmenu
- endif # BLOCK
- menu "Pseudo filesystems"
- source "fs/proc/Kconfig"
- source "fs/kernfs/Kconfig"
- source "fs/sysfs/Kconfig"
- config TMPFS
- bool "Tmpfs virtual memory file system support (former shm fs)"
- depends on SHMEM
- help
- Tmpfs is a file system which keeps all files in virtual memory.
- Everything in tmpfs is temporary in the sense that no files will be
- created on your hard drive. The files live in memory and swap
- space. If you unmount a tmpfs instance, everything stored therein is
- lost.
- See <file:Documentation/filesystems/tmpfs.rst> for details.
- config TMPFS_POSIX_ACL
- bool "Tmpfs POSIX Access Control Lists"
- depends on TMPFS
- select TMPFS_XATTR
- select FS_POSIX_ACL
- help
- POSIX Access Control Lists (ACLs) support additional access rights
- for users and groups beyond the standard owner/group/world scheme,
- and this option selects support for ACLs specifically for tmpfs
- filesystems.
- If you've selected TMPFS, it's possible that you'll also need
- this option as there are a number of Linux distros that require
- POSIX ACL support under /dev for certain features to work properly.
- For example, some distros need this feature for ALSA-related /dev
- files for sound to work properly. In short, if you're not sure,
- say Y.
- config TMPFS_XATTR
- bool "Tmpfs extended attributes"
- depends on TMPFS
- default n
- help
- Extended attributes are name:value pairs associated with inodes by
- the kernel or by users (see the attr(5) manual page for details).
- Currently this enables support for the trusted.* and
- security.* namespaces.
- You need this for POSIX ACL support on tmpfs.
- If unsure, say N.
- config TMPFS_INODE64
- bool "Use 64-bit ino_t by default in tmpfs"
- depends on TMPFS && 64BIT
- default n
- help
- tmpfs has historically used only inode numbers as wide as an unsigned
- int. In some cases this can cause wraparound, potentially resulting
- in multiple files with the same inode number on a single device. This
- option makes tmpfs use the full width of ino_t by default, without
- needing to specify the inode64 option when mounting.
- But if a long-lived tmpfs is to be accessed by 32-bit applications so
- ancient that opening a file larger than 2GiB fails with EINVAL, then
- the INODE64 config option and inode64 mount option risk operations
- failing with EOVERFLOW once 33-bit inode numbers are reached.
- To override this configured default, use the inode32 or inode64
- option when mounting.
- If unsure, say N.
- config ARCH_SUPPORTS_HUGETLBFS
- def_bool n
- config HUGETLBFS
- bool "HugeTLB file system support"
- depends on X86 || IA64 || SPARC64 || ARCH_SUPPORTS_HUGETLBFS || BROKEN
- depends on (SYSFS || SYSCTL)
- help
- hugetlbfs is a filesystem backing for HugeTLB pages, based on
- ramfs. For architectures that support it, say Y here and read
- <file:Documentation/admin-guide/mm/hugetlbpage.rst> for details.
- If unsure, say N.
- config HUGETLB_PAGE
- def_bool HUGETLBFS
- #
- # Select this config option from the architecture Kconfig, if it is preferred
- # to enable the feature of HugeTLB Vmemmap Optimization (HVO).
- #
- config ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP
- bool
- config HUGETLB_PAGE_OPTIMIZE_VMEMMAP
- def_bool HUGETLB_PAGE
- depends on ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP
- depends on SPARSEMEM_VMEMMAP
- config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
- bool "HugeTLB Vmemmap Optimization (HVO) defaults to on"
- default n
- depends on HUGETLB_PAGE_OPTIMIZE_VMEMMAP
- help
- The HugeTLB VmemmapvOptimization (HVO) defaults to off. Say Y here to
- enable HVO by default. It can be disabled via hugetlb_free_vmemmap=off
- (boot command line) or hugetlb_optimize_vmemmap (sysctl).
- config MEMFD_CREATE
- def_bool TMPFS || HUGETLBFS
- config ARCH_HAS_GIGANTIC_PAGE
- bool
- source "fs/configfs/Kconfig"
- source "fs/efivarfs/Kconfig"
- endmenu
- menuconfig MISC_FILESYSTEMS
- bool "Miscellaneous filesystems"
- default y
- help
- Say Y here to get to see options for various miscellaneous
- filesystems, such as filesystems that came from other
- operating systems.
- This option alone does not add any kernel code.
- If you say N, all options in this submenu will be skipped and
- disabled; if unsure, say Y here.
- if MISC_FILESYSTEMS
- source "fs/orangefs/Kconfig"
- source "fs/adfs/Kconfig"
- source "fs/affs/Kconfig"
- source "fs/ecryptfs/Kconfig"
- source "fs/hfs/Kconfig"
- source "fs/hfsplus/Kconfig"
- source "fs/befs/Kconfig"
- source "fs/bfs/Kconfig"
- source "fs/efs/Kconfig"
- source "fs/jffs2/Kconfig"
- # UBIFS File system configuration
- source "fs/ubifs/Kconfig"
- source "fs/cramfs/Kconfig"
- source "fs/squashfs/Kconfig"
- source "fs/freevxfs/Kconfig"
- source "fs/minix/Kconfig"
- source "fs/omfs/Kconfig"
- source "fs/hpfs/Kconfig"
- source "fs/qnx4/Kconfig"
- source "fs/qnx6/Kconfig"
- source "fs/romfs/Kconfig"
- source "fs/pstore/Kconfig"
- source "fs/sysv/Kconfig"
- source "fs/ufs/Kconfig"
- source "fs/erofs/Kconfig"
- source "fs/vboxsf/Kconfig"
- endif # MISC_FILESYSTEMS
- menuconfig NETWORK_FILESYSTEMS
- bool "Network File Systems"
- default y
- depends on NET
- help
- Say Y here to get to see options for network filesystems and
- filesystem-related networking code, such as NFS daemon and
- RPCSEC security modules.
- This option alone does not add any kernel code.
- If you say N, all options in this submenu will be skipped and
- disabled; if unsure, say Y here.
- if NETWORK_FILESYSTEMS
- source "fs/nfs/Kconfig"
- source "fs/nfsd/Kconfig"
- config GRACE_PERIOD
- tristate
- config LOCKD
- tristate
- depends on FILE_LOCKING
- select GRACE_PERIOD
- config LOCKD_V4
- bool
- depends on NFSD || NFS_V3
- depends on FILE_LOCKING
- default y
- config NFS_ACL_SUPPORT
- tristate
- select FS_POSIX_ACL
- config NFS_COMMON
- bool
- depends on NFSD || NFS_FS || LOCKD
- default y
- config NFS_V4_2_SSC_HELPER
- bool
- default y if NFS_V4_2
- source "net/sunrpc/Kconfig"
- source "fs/ceph/Kconfig"
- source "fs/smb/Kconfig"
- source "fs/coda/Kconfig"
- source "fs/afs/Kconfig"
- source "fs/9p/Kconfig"
- endif # NETWORK_FILESYSTEMS
- source "fs/nls/Kconfig"
- source "fs/dlm/Kconfig"
- source "fs/unicode/Kconfig"
- config IO_WQ
- bool
- endmenu
|