|  | # | 
|  | # File system configuration | 
|  | # | 
|  |  | 
|  | menu "File systems" | 
|  |  | 
|  | # Use unaligned word dcache accesses | 
|  | config DCACHE_WORD_ACCESS | 
|  | bool | 
|  |  | 
|  | if BLOCK | 
|  |  | 
|  | config FS_IOMAP | 
|  | bool | 
|  |  | 
|  | 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" | 
|  |  | 
|  | config FS_DAX | 
|  | bool "Direct Access (DAX) support" | 
|  | depends on MMU | 
|  | depends on !(ARM || MIPS || SPARC) | 
|  | select DEV_PAGEMAP_OPS if (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; you will need to | 
|  | mount the filesystem using the -o dax option. | 
|  |  | 
|  | 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 | 
|  |  | 
|  | endif # BLOCK | 
|  |  | 
|  | # 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. | 
|  |  | 
|  | config MANDATORY_FILE_LOCKING | 
|  | bool "Enable Mandatory file locking" | 
|  | depends on FILE_LOCKING | 
|  | default y | 
|  | help | 
|  | This option enables files appropriately marked files on appropriely | 
|  | mounted filesystems to support mandatory locking. | 
|  |  | 
|  | To the best of my knowledge this is dead code that no one cares about. | 
|  |  | 
|  | 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" | 
|  |  | 
|  | menu "Caches" | 
|  |  | 
|  | 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/NT Filesystems" | 
|  |  | 
|  | source "fs/fat/Kconfig" | 
|  | source "fs/ntfs/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.txt> 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 HUGETLBFS | 
|  | bool "HugeTLB file system support" | 
|  | depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \ | 
|  | SYS_SUPPORTS_HUGETLBFS || BROKEN | 
|  | 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 | 
|  |  | 
|  | 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/sdcardfs/Kconfig" | 
|  | source "fs/hfs/Kconfig" | 
|  | source "fs/hfsplus/Kconfig" | 
|  | source "fs/befs/Kconfig" | 
|  | source "fs/bfs/Kconfig" | 
|  | source "fs/efs/Kconfig" | 
|  | source "fs/yaffs2/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/exofs/Kconfig" | 
|  |  | 
|  | endif # MISC_FILESYSTEMS | 
|  |  | 
|  | source "fs/exofs/Kconfig.ore" | 
|  |  | 
|  | 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_V3 || 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 | 
|  |  | 
|  | source "net/sunrpc/Kconfig" | 
|  | source "fs/ceph/Kconfig" | 
|  | source "fs/cifs/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" | 
|  |  | 
|  | endmenu |