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