1 # SPDX-License-Identifier: GPL-2.0-only
3 # File system configuration
8 # Use unaligned word dcache accesses
9 config DCACHE_WORD_ACCESS
12 config VALIDATE_FS_PARSER
13 bool "Validate filesystem parameter description"
16 Enable this to perform validation of the parameter description for a
17 filesystem when it is registered.
24 source "fs/ext2/Kconfig"
25 source "fs/ext4/Kconfig"
26 source "fs/jbd2/Kconfig"
29 # Meta block cache for Extended Attributes (ext2/ext3/ext4)
31 default y if EXT2_FS=y && EXT2_FS_XATTR
32 default y if EXT4_FS=y
33 default m if EXT2_FS_XATTR || EXT4_FS
35 source "fs/reiserfs/Kconfig"
36 source "fs/jfs/Kconfig"
38 source "fs/xfs/Kconfig"
39 source "fs/gfs2/Kconfig"
40 source "fs/ocfs2/Kconfig"
41 source "fs/btrfs/Kconfig"
42 source "fs/nilfs2/Kconfig"
43 source "fs/f2fs/Kconfig"
46 bool "Direct Access (DAX) support"
48 depends on !(ARM || MIPS || SPARC)
49 select DEV_PAGEMAP_OPS if (ZONE_DEVICE && !FS_DAX_LIMITED)
53 Direct Access (DAX) can be used on memory-backed block devices.
54 If the block device supports DAX and the filesystem supports DAX,
55 then you can avoid using the pagecache to buffer I/Os. Turning
56 on this option will compile in support for DAX; you will need to
57 mount the filesystem using the -o dax option.
59 If you do not have a block device that is capable of using this,
60 or if unsure, say N. Saying Y will increase the size of the kernel
67 depends on ZONE_DEVICE
68 depends on TRANSPARENT_HUGEPAGE
70 # Selected by DAX drivers that do not expect filesystem DAX to support
71 # get_user_pages() of DAX mappings. I.e. "limited" indicates no support
72 # for fork() of processes with MAP_SHARED mappings or support for
73 # direct-I/O to a DAX mapping.
79 # Posix ACL utility routines
81 # Note: Posix ACLs can be implemented without these helpers. Never use
82 # this symbol for ifdefs in core code.
90 config EXPORTFS_BLOCK_OPS
91 bool "Enable filesystem export operations for block IO"
93 This option enables the export operations for a filesystem to support
97 bool "Enable POSIX file locking API" if EXPERT
100 This option enables standard file locking support, required
101 for filesystems like NFS and for the flock() system
102 call. Disabling this option saves about 11k.
104 config MANDATORY_FILE_LOCKING
105 bool "Enable Mandatory file locking"
106 depends on FILE_LOCKING
109 This option enables files appropriately marked files on appropriely
110 mounted filesystems to support mandatory locking.
112 To the best of my knowledge this is dead code that no one cares about.
114 source "fs/crypto/Kconfig"
116 source "fs/notify/Kconfig"
118 source "fs/quota/Kconfig"
120 source "fs/autofs/Kconfig"
121 source "fs/fuse/Kconfig"
122 source "fs/overlayfs/Kconfig"
126 source "fs/fscache/Kconfig"
127 source "fs/cachefiles/Kconfig"
132 menu "CD-ROM/DVD Filesystems"
134 source "fs/isofs/Kconfig"
135 source "fs/udf/Kconfig"
141 menu "DOS/FAT/NT Filesystems"
143 source "fs/fat/Kconfig"
144 source "fs/ntfs/Kconfig"
149 menu "Pseudo filesystems"
151 source "fs/proc/Kconfig"
152 source "fs/kernfs/Kconfig"
153 source "fs/sysfs/Kconfig"
156 bool "Tmpfs virtual memory file system support (former shm fs)"
159 Tmpfs is a file system which keeps all files in virtual memory.
161 Everything in tmpfs is temporary in the sense that no files will be
162 created on your hard drive. The files live in memory and swap
163 space. If you unmount a tmpfs instance, everything stored therein is
166 See <file:Documentation/filesystems/tmpfs.txt> for details.
168 config TMPFS_POSIX_ACL
169 bool "Tmpfs POSIX Access Control Lists"
174 POSIX Access Control Lists (ACLs) support additional access rights
175 for users and groups beyond the standard owner/group/world scheme,
176 and this option selects support for ACLs specifically for tmpfs
179 If you've selected TMPFS, it's possible that you'll also need
180 this option as there are a number of Linux distros that require
181 POSIX ACL support under /dev for certain features to work properly.
182 For example, some distros need this feature for ALSA-related /dev
183 files for sound to work properly. In short, if you're not sure,
187 bool "Tmpfs extended attributes"
191 Extended attributes are name:value pairs associated with inodes by
192 the kernel or by users (see the attr(5) manual page for details).
194 Currently this enables support for the trusted.* and
195 security.* namespaces.
197 You need this for POSIX ACL support on tmpfs.
202 bool "HugeTLB file system support"
203 depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
204 SYS_SUPPORTS_HUGETLBFS || BROKEN
206 hugetlbfs is a filesystem backing for HugeTLB pages, based on
207 ramfs. For architectures that support it, say Y here and read
208 <file:Documentation/admin-guide/mm/hugetlbpage.rst> for details.
216 def_bool TMPFS || HUGETLBFS
218 config ARCH_HAS_GIGANTIC_PAGE
221 source "fs/configfs/Kconfig"
222 source "fs/efivarfs/Kconfig"
226 menuconfig MISC_FILESYSTEMS
227 bool "Miscellaneous filesystems"
230 Say Y here to get to see options for various miscellaneous
231 filesystems, such as filesystems that came from other
234 This option alone does not add any kernel code.
236 If you say N, all options in this submenu will be skipped and
237 disabled; if unsure, say Y here.
241 source "fs/orangefs/Kconfig"
242 source "fs/adfs/Kconfig"
243 source "fs/affs/Kconfig"
244 source "fs/ecryptfs/Kconfig"
245 source "fs/hfs/Kconfig"
246 source "fs/hfsplus/Kconfig"
247 source "fs/befs/Kconfig"
248 source "fs/bfs/Kconfig"
249 source "fs/efs/Kconfig"
250 source "fs/jffs2/Kconfig"
251 # UBIFS File system configuration
252 source "fs/ubifs/Kconfig"
253 source "fs/cramfs/Kconfig"
254 source "fs/squashfs/Kconfig"
255 source "fs/freevxfs/Kconfig"
256 source "fs/minix/Kconfig"
257 source "fs/omfs/Kconfig"
258 source "fs/hpfs/Kconfig"
259 source "fs/qnx4/Kconfig"
260 source "fs/qnx6/Kconfig"
261 source "fs/romfs/Kconfig"
262 source "fs/pstore/Kconfig"
263 source "fs/sysv/Kconfig"
264 source "fs/ufs/Kconfig"
266 endif # MISC_FILESYSTEMS
268 menuconfig NETWORK_FILESYSTEMS
269 bool "Network File Systems"
273 Say Y here to get to see options for network filesystems and
274 filesystem-related networking code, such as NFS daemon and
275 RPCSEC security modules.
277 This option alone does not add any kernel code.
279 If you say N, all options in this submenu will be skipped and
280 disabled; if unsure, say Y here.
282 if NETWORK_FILESYSTEMS
284 source "fs/nfs/Kconfig"
285 source "fs/nfsd/Kconfig"
292 depends on FILE_LOCKING
297 depends on NFSD_V3 || NFS_V3
298 depends on FILE_LOCKING
301 config NFS_ACL_SUPPORT
307 depends on NFSD || NFS_FS || LOCKD
310 source "net/sunrpc/Kconfig"
311 source "fs/ceph/Kconfig"
312 source "fs/cifs/Kconfig"
313 source "fs/coda/Kconfig"
314 source "fs/afs/Kconfig"
315 source "fs/9p/Kconfig"
317 endif # NETWORK_FILESYSTEMS
319 source "fs/nls/Kconfig"
320 source "fs/dlm/Kconfig"
321 source "fs/unicode/Kconfig"