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