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