exfat: add nls operations
[linux-block.git] / fs / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
1da177e4
LT
2#
3# File system configuration
4#
5
6menu "File systems"
7
bfcfaa77
LT
8# Use unaligned word dcache accesses
9config DCACHE_WORD_ACCESS
10 bool
11
31d921c7
DH
12config VALIDATE_FS_PARSER
13 bool "Validate filesystem parameter description"
31d921c7
DH
14 help
15 Enable this to perform validation of the parameter description for a
16 filesystem when it is registered.
17
9361401e
DH
18if BLOCK
19
ae259a9c
CH
20config FS_IOMAP
21 bool
22
6da0b38f 23source "fs/ext2/Kconfig"
6da0b38f 24source "fs/ext4/Kconfig"
6da0b38f 25source "fs/jbd2/Kconfig"
dab291af 26
1da177e4 27config FS_MBCACHE
02ea2104 28# Meta block cache for Extended Attributes (ext2/ext3/ext4)
1da177e4 29 tristate
2c512397 30 default y if EXT2_FS=y && EXT2_FS_XATTR
939da108 31 default y if EXT4_FS=y
c290ea01 32 default m if EXT2_FS_XATTR || EXT4_FS
1da177e4 33
b16ecfe2 34source "fs/reiserfs/Kconfig"
f5c77969 35source "fs/jfs/Kconfig"
1da177e4 36
69050eee
TS
37source "fs/xfs/Kconfig"
38source "fs/gfs2/Kconfig"
39source "fs/ocfs2/Kconfig"
40source "fs/btrfs/Kconfig"
41f4db0f 41source "fs/nilfs2/Kconfig"
d7196c5a 42source "fs/f2fs/Kconfig"
8dcc1a9d 43source "fs/zonefs/Kconfig"
69050eee 44
6cd176a5
MW
45config FS_DAX
46 bool "Direct Access (DAX) support"
47 depends on MMU
d92576f1 48 depends on !(ARM || MIPS || SPARC)
e7638488 49 select DEV_PAGEMAP_OPS if (ZONE_DEVICE && !FS_DAX_LIMITED)
6affb9d7 50 select FS_IOMAP
ef510424 51 select DAX
6cd176a5
MW
52 help
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.
58
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
61 by about 5kB.
62
ee82c9ed
DW
63config FS_DAX_PMD
64 bool
65 default FS_DAX
66 depends on FS_DAX
c046c321
DW
67 depends on ZONE_DEVICE
68 depends on TRANSPARENT_HUGEPAGE
ee82c9ed 69
569d0365
DW
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.
74config FS_DAX_LIMITED
75 bool
76
69050eee
TS
77endif # BLOCK
78
16ebe911
RD
79# Posix ACL utility routines
80#
81# Note: Posix ACLs can be implemented without these helpers. Never use
82# this symbol for ifdefs in core code.
83#
84config FS_POSIX_ACL
85 def_bool n
86
4199ca77 87config EXPORTFS
79fead47 88 tristate
4199ca77 89
15d66ac2
BC
90config EXPORTFS_BLOCK_OPS
91 bool "Enable filesystem export operations for block IO"
92 help
93 This option enables the export operations for a filesystem to support
94 external block IO.
95
bfcd17a6 96config FILE_LOCKING
6a108a14 97 bool "Enable POSIX file locking API" if EXPERT
bfcd17a6
TP
98 default y
99 help
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.
103
9e8925b6
JL
104config MANDATORY_FILE_LOCKING
105 bool "Enable Mandatory file locking"
106 depends on FILE_LOCKING
107 default y
108 help
109 This option enables files appropriately marked files on appropriely
110 mounted filesystems to support mandatory locking.
111
112 To the best of my knowledge this is dead code that no one cares about.
113
0b81d077
JK
114source "fs/crypto/Kconfig"
115
671e67b4
EB
116source "fs/verity/Kconfig"
117
272eb014 118source "fs/notify/Kconfig"
0eeca283 119
884d179d 120source "fs/quota/Kconfig"
1da177e4 121
2a3ae0a1 122source "fs/autofs/Kconfig"
3ef7784e 123source "fs/fuse/Kconfig"
e9be9d5e 124source "fs/overlayfs/Kconfig"
04578f17 125
06b3db1b
DH
126menu "Caches"
127
128source "fs/fscache/Kconfig"
9ae326a6 129source "fs/cachefiles/Kconfig"
06b3db1b
DH
130
131endmenu
132
9361401e 133if BLOCK
1da177e4
LT
134menu "CD-ROM/DVD Filesystems"
135
ddfaccd9
AD
136source "fs/isofs/Kconfig"
137source "fs/udf/Kconfig"
1da177e4
LT
138
139endmenu
25fad945 140endif # BLOCK
1da177e4 141
9361401e 142if BLOCK
1da177e4
LT
143menu "DOS/FAT/NT Filesystems"
144
1c6ace01 145source "fs/fat/Kconfig"
9d73ac9e 146source "fs/ntfs/Kconfig"
1da177e4
LT
147
148endmenu
25fad945 149endif # BLOCK
1da177e4
LT
150
151menu "Pseudo filesystems"
152
6eedf8d3 153source "fs/proc/Kconfig"
ba341d55 154source "fs/kernfs/Kconfig"
5f3a211a 155source "fs/sysfs/Kconfig"
1da177e4 156
1da177e4 157config TMPFS
f5fc870d 158 bool "Tmpfs virtual memory file system support (former shm fs)"
3f96b79a 159 depends on SHMEM
1da177e4
LT
160 help
161 Tmpfs is a file system which keeps all files in virtual memory.
162
163 Everything in tmpfs is temporary in the sense that no files will be
164 created on your hard drive. The files live in memory and swap
165 space. If you unmount a tmpfs instance, everything stored therein is
166 lost.
167
168 See <file:Documentation/filesystems/tmpfs.txt> for details.
169
4db70f73
EP
170config TMPFS_POSIX_ACL
171 bool "Tmpfs POSIX Access Control Lists"
172 depends on TMPFS
173 select TMPFS_XATTR
feda821e 174 select FS_POSIX_ACL
4db70f73 175 help
206506cc
RD
176 POSIX Access Control Lists (ACLs) support additional access rights
177 for users and groups beyond the standard owner/group/world scheme,
178 and this option selects support for ACLs specifically for tmpfs
179 filesystems.
180
181 If you've selected TMPFS, it's possible that you'll also need
182 this option as there are a number of Linux distros that require
183 POSIX ACL support under /dev for certain features to work properly.
184 For example, some distros need this feature for ALSA-related /dev
185 files for sound to work properly. In short, if you're not sure,
186 say Y.
4db70f73 187
b09e0fa4
EP
188config TMPFS_XATTR
189 bool "Tmpfs extended attributes"
190 depends on TMPFS
191 default n
192 help
193 Extended attributes are name:value pairs associated with inodes by
91581e4c 194 the kernel or by users (see the attr(5) manual page for details).
b09e0fa4
EP
195
196 Currently this enables support for the trusted.* and
197 security.* namespaces.
198
b09e0fa4
EP
199 You need this for POSIX ACL support on tmpfs.
200
4db70f73 201 If unsure, say N.
39f0247d 202
1da177e4
LT
203config HUGETLBFS
204 bool "HugeTLB file system support"
5a1eb5c4 205 depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
ffb4a73d 206 SYS_SUPPORTS_HUGETLBFS || BROKEN
dda27d1a
AO
207 help
208 hugetlbfs is a filesystem backing for HugeTLB pages, based on
209 ramfs. For architectures that support it, say Y here and read
1ad1335d 210 <file:Documentation/admin-guide/mm/hugetlbpage.rst> for details.
dda27d1a
AO
211
212 If unsure, say N.
1da177e4
LT
213
214config HUGETLB_PAGE
215 def_bool HUGETLBFS
216
5d752600
MK
217config MEMFD_CREATE
218 def_bool TMPFS || HUGETLBFS
219
461a7184
YX
220config ARCH_HAS_GIGANTIC_PAGE
221 bool
222
4591dabe 223source "fs/configfs/Kconfig"
62c204dd 224source "fs/efivarfs/Kconfig"
7063fbf2 225
1da177e4
LT
226endmenu
227
67ec7d3a
RD
228menuconfig MISC_FILESYSTEMS
229 bool "Miscellaneous filesystems"
230 default y
231 ---help---
232 Say Y here to get to see options for various miscellaneous
233 filesystems, such as filesystems that came from other
234 operating systems.
235
236 This option alone does not add any kernel code.
237
238 If you say N, all options in this submenu will be skipped and
239 disabled; if unsure, say Y here.
240
241if MISC_FILESYSTEMS
1da177e4 242
07f01962 243source "fs/orangefs/Kconfig"
bc2de2ae 244source "fs/adfs/Kconfig"
10951bf0 245source "fs/affs/Kconfig"
295c896c 246source "fs/ecryptfs/Kconfig"
b08bac1f
AD
247source "fs/hfs/Kconfig"
248source "fs/hfsplus/Kconfig"
0b09eb32 249source "fs/befs/Kconfig"
0ff42384 250source "fs/bfs/Kconfig"
571f0a0b 251source "fs/efs/Kconfig"
31db6e9e 252source "fs/jffs2/Kconfig"
0d7eff87
AB
253# UBIFS File system configuration
254source "fs/ubifs/Kconfig"
2a22783b 255source "fs/cramfs/Kconfig"
22635ec9 256source "fs/squashfs/Kconfig"
22135169 257source "fs/freevxfs/Kconfig"
8b1cd7d3 258source "fs/minix/Kconfig"
da55e6f9 259source "fs/omfs/Kconfig"
928ea192 260source "fs/hpfs/Kconfig"
4c741583 261source "fs/qnx4/Kconfig"
5d026c72 262source "fs/qnx6/Kconfig"
41810246 263source "fs/romfs/Kconfig"
ca01d6dd 264source "fs/pstore/Kconfig"
8af915ba 265source "fs/sysv/Kconfig"
a276a52f 266source "fs/ufs/Kconfig"
47e4937a 267source "fs/erofs/Kconfig"
0fd16957 268source "fs/vboxsf/Kconfig"
0c4fb877 269
67ec7d3a 270endif # MISC_FILESYSTEMS
1da177e4 271
ea0985ad
JE
272menuconfig NETWORK_FILESYSTEMS
273 bool "Network File Systems"
274 default y
1da177e4 275 depends on NET
ea0985ad
JE
276 ---help---
277 Say Y here to get to see options for network filesystems and
278 filesystem-related networking code, such as NFS daemon and
279 RPCSEC security modules.
6fb1bc10 280
ea0985ad
JE
281 This option alone does not add any kernel code.
282
283 If you say N, all options in this submenu will be skipped and
284 disabled; if unsure, say Y here.
285
286if NETWORK_FILESYSTEMS
1da177e4 287
97afe47a 288source "fs/nfs/Kconfig"
e2b329e2 289source "fs/nfsd/Kconfig"
1da177e4 290
f7790029
JL
291config GRACE_PERIOD
292 tristate
293
1da177e4
LT
294config LOCKD
295 tristate
dd4dc82d 296 depends on FILE_LOCKING
f7790029 297 select GRACE_PERIOD
1da177e4
LT
298
299config LOCKD_V4
300 bool
301 depends on NFSD_V3 || NFS_V3
dd4dc82d 302 depends on FILE_LOCKING
1da177e4
LT
303 default y
304
a257cdd0
AG
305config NFS_ACL_SUPPORT
306 tristate
307 select FS_POSIX_ACL
308
309config NFS_COMMON
310 bool
f7790029 311 depends on NFSD || NFS_FS || LOCKD
a257cdd0
AG
312 default y
313
9098c24f 314source "net/sunrpc/Kconfig"
9030aaf9 315source "fs/ceph/Kconfig"
bb26b963 316source "fs/cifs/Kconfig"
33a1a6fe 317source "fs/coda/Kconfig"
b2480c7f 318source "fs/afs/Kconfig"
0fcb4408 319source "fs/9p/Kconfig"
93fa58cb 320
ea0985ad 321endif # NETWORK_FILESYSTEMS
1da177e4 322
1da177e4 323source "fs/nls/Kconfig"
e7fd4179 324source "fs/dlm/Kconfig"
955405d1 325source "fs/unicode/Kconfig"
1da177e4 326
771b53d0
JA
327config IO_WQ
328 bool
329
1da177e4 330endmenu