1# 2# File system configuration 3# 4 5menu "File systems" 6 7# Use unaligned word dcache accesses 8config DCACHE_WORD_ACCESS 9 bool 10 11if BLOCK 12 13config FS_IOMAP 14 bool 15 16source "fs/ext2/Kconfig" 17source "fs/ext4/Kconfig" 18source "fs/jbd2/Kconfig" 19 20config FS_MBCACHE 21# Meta block cache for Extended Attributes (ext2/ext3/ext4) 22 tristate 23 default y if EXT2_FS=y && EXT2_FS_XATTR 24 default y if EXT4_FS=y 25 default m if EXT2_FS_XATTR || EXT4_FS 26 27source "fs/reiserfs/Kconfig" 28source "fs/jfs/Kconfig" 29 30source "fs/xfs/Kconfig" 31source "fs/gfs2/Kconfig" 32source "fs/ocfs2/Kconfig" 33source "fs/btrfs/Kconfig" 34source "fs/nilfs2/Kconfig" 35source "fs/f2fs/Kconfig" 36 37config FS_DAX 38 bool "Direct Access (DAX) support" 39 depends on MMU 40 depends on !(ARM || MIPS || SPARC) 41 select DEV_PAGEMAP_OPS if (ZONE_DEVICE && !FS_DAX_LIMITED) 42 select FS_IOMAP 43 select DAX 44 help 45 Direct Access (DAX) can be used on memory-backed block devices. 46 If the block device supports DAX and the filesystem supports DAX, 47 then you can avoid using the pagecache to buffer I/Os. Turning 48 on this option will compile in support for DAX; you will need to 49 mount the filesystem using the -o dax option. 50 51 If you do not have a block device that is capable of using this, 52 or if unsure, say N. Saying Y will increase the size of the kernel 53 by about 5kB. 54 55config FS_DAX_PMD 56 bool 57 default FS_DAX 58 depends on FS_DAX 59 depends on ZONE_DEVICE 60 depends on TRANSPARENT_HUGEPAGE 61 62# Selected by DAX drivers that do not expect filesystem DAX to support 63# get_user_pages() of DAX mappings. I.e. "limited" indicates no support 64# for fork() of processes with MAP_SHARED mappings or support for 65# direct-I/O to a DAX mapping. 66config FS_DAX_LIMITED 67 bool 68 69endif # BLOCK 70 71# Posix ACL utility routines 72# 73# Note: Posix ACLs can be implemented without these helpers. Never use 74# this symbol for ifdefs in core code. 75# 76config FS_POSIX_ACL 77 def_bool n 78 79config EXPORTFS 80 tristate 81 82config EXPORTFS_BLOCK_OPS 83 bool "Enable filesystem export operations for block IO" 84 help 85 This option enables the export operations for a filesystem to support 86 external block IO. 87 88config FILE_LOCKING 89 bool "Enable POSIX file locking API" if EXPERT 90 default y 91 help 92 This option enables standard file locking support, required 93 for filesystems like NFS and for the flock() system 94 call. Disabling this option saves about 11k. 95 96config MANDATORY_FILE_LOCKING 97 bool "Enable Mandatory file locking" 98 depends on FILE_LOCKING 99 default y 100 help 101 This option enables files appropriately marked files on appropriely 102 mounted filesystems to support mandatory locking. 103 104 To the best of my knowledge this is dead code that no one cares about. 105 106source "fs/crypto/Kconfig" 107 108source "fs/notify/Kconfig" 109 110source "fs/quota/Kconfig" 111 112source "fs/autofs/Kconfig" 113source "fs/autofs4/Kconfig" 114source "fs/fuse/Kconfig" 115source "fs/overlayfs/Kconfig" 116 117menu "Caches" 118 119source "fs/fscache/Kconfig" 120source "fs/cachefiles/Kconfig" 121 122endmenu 123 124if BLOCK 125menu "CD-ROM/DVD Filesystems" 126 127source "fs/isofs/Kconfig" 128source "fs/udf/Kconfig" 129 130endmenu 131endif # BLOCK 132 133if BLOCK 134menu "DOS/FAT/NT Filesystems" 135 136source "fs/fat/Kconfig" 137source "fs/ntfs/Kconfig" 138 139endmenu 140endif # BLOCK 141 142menu "Pseudo filesystems" 143 144source "fs/proc/Kconfig" 145source "fs/kernfs/Kconfig" 146source "fs/sysfs/Kconfig" 147 148config TMPFS 149 bool "Tmpfs virtual memory file system support (former shm fs)" 150 depends on SHMEM 151 help 152 Tmpfs is a file system which keeps all files in virtual memory. 153 154 Everything in tmpfs is temporary in the sense that no files will be 155 created on your hard drive. The files live in memory and swap 156 space. If you unmount a tmpfs instance, everything stored therein is 157 lost. 158 159 See <file:Documentation/filesystems/tmpfs.txt> for details. 160 161config TMPFS_POSIX_ACL 162 bool "Tmpfs POSIX Access Control Lists" 163 depends on TMPFS 164 select TMPFS_XATTR 165 select FS_POSIX_ACL 166 help 167 POSIX Access Control Lists (ACLs) support additional access rights 168 for users and groups beyond the standard owner/group/world scheme, 169 and this option selects support for ACLs specifically for tmpfs 170 filesystems. 171 172 If you've selected TMPFS, it's possible that you'll also need 173 this option as there are a number of Linux distros that require 174 POSIX ACL support under /dev for certain features to work properly. 175 For example, some distros need this feature for ALSA-related /dev 176 files for sound to work properly. In short, if you're not sure, 177 say Y. 178 179config TMPFS_XATTR 180 bool "Tmpfs extended attributes" 181 depends on TMPFS 182 default n 183 help 184 Extended attributes are name:value pairs associated with inodes by 185 the kernel or by users (see the attr(5) manual page for details). 186 187 Currently this enables support for the trusted.* and 188 security.* namespaces. 189 190 You need this for POSIX ACL support on tmpfs. 191 192 If unsure, say N. 193 194config HUGETLBFS 195 bool "HugeTLB file system support" 196 depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \ 197 SYS_SUPPORTS_HUGETLBFS || BROKEN 198 help 199 hugetlbfs is a filesystem backing for HugeTLB pages, based on 200 ramfs. For architectures that support it, say Y here and read 201 <file:Documentation/admin-guide/mm/hugetlbpage.rst> for details. 202 203 If unsure, say N. 204 205config HUGETLB_PAGE 206 def_bool HUGETLBFS 207 208config MEMFD_CREATE 209 def_bool TMPFS || HUGETLBFS 210 211config ARCH_HAS_GIGANTIC_PAGE 212 bool 213 214source "fs/configfs/Kconfig" 215source "fs/efivarfs/Kconfig" 216 217endmenu 218 219menuconfig MISC_FILESYSTEMS 220 bool "Miscellaneous filesystems" 221 default y 222 ---help--- 223 Say Y here to get to see options for various miscellaneous 224 filesystems, such as filesystems that came from other 225 operating systems. 226 227 This option alone does not add any kernel code. 228 229 If you say N, all options in this submenu will be skipped and 230 disabled; if unsure, say Y here. 231 232if MISC_FILESYSTEMS 233 234source "fs/orangefs/Kconfig" 235source "fs/adfs/Kconfig" 236source "fs/affs/Kconfig" 237source "fs/ecryptfs/Kconfig" 238source "fs/hfs/Kconfig" 239source "fs/hfsplus/Kconfig" 240source "fs/befs/Kconfig" 241source "fs/bfs/Kconfig" 242source "fs/efs/Kconfig" 243source "fs/jffs2/Kconfig" 244# UBIFS File system configuration 245source "fs/ubifs/Kconfig" 246source "fs/cramfs/Kconfig" 247source "fs/squashfs/Kconfig" 248source "fs/freevxfs/Kconfig" 249source "fs/minix/Kconfig" 250source "fs/omfs/Kconfig" 251source "fs/hpfs/Kconfig" 252source "fs/qnx4/Kconfig" 253source "fs/qnx6/Kconfig" 254source "fs/romfs/Kconfig" 255source "fs/pstore/Kconfig" 256source "fs/sysv/Kconfig" 257source "fs/ufs/Kconfig" 258source "fs/exofs/Kconfig" 259 260endif # MISC_FILESYSTEMS 261 262source "fs/exofs/Kconfig.ore" 263 264menuconfig NETWORK_FILESYSTEMS 265 bool "Network File Systems" 266 default y 267 depends on NET 268 ---help--- 269 Say Y here to get to see options for network filesystems and 270 filesystem-related networking code, such as NFS daemon and 271 RPCSEC security modules. 272 273 This option alone does not add any kernel code. 274 275 If you say N, all options in this submenu will be skipped and 276 disabled; if unsure, say Y here. 277 278if NETWORK_FILESYSTEMS 279 280source "fs/nfs/Kconfig" 281source "fs/nfsd/Kconfig" 282 283config GRACE_PERIOD 284 tristate 285 286config LOCKD 287 tristate 288 depends on FILE_LOCKING 289 select GRACE_PERIOD 290 291config LOCKD_V4 292 bool 293 depends on NFSD_V3 || NFS_V3 294 depends on FILE_LOCKING 295 default y 296 297config NFS_ACL_SUPPORT 298 tristate 299 select FS_POSIX_ACL 300 301config NFS_COMMON 302 bool 303 depends on NFSD || NFS_FS || LOCKD 304 default y 305 306source "net/sunrpc/Kconfig" 307source "fs/ceph/Kconfig" 308source "fs/cifs/Kconfig" 309source "fs/coda/Kconfig" 310source "fs/afs/Kconfig" 311source "fs/9p/Kconfig" 312 313endif # NETWORK_FILESYSTEMS 314 315source "fs/nls/Kconfig" 316source "fs/dlm/Kconfig" 317 318endmenu 319