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