]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/blame_incremental - fs/Kconfig
UBUNTU: Ubuntu-5.3.0-29.31
[mirror_ubuntu-eoan-kernel.git] / fs / Kconfig
... / ...
CommitLineData
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# File system configuration
4#
5
6menu "File systems"
7
8# Use unaligned word dcache accesses
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# Meta block cache for Extended Attributes (ext2/ext3/ext4)
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# 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.
73config FS_DAX_LIMITED
74 bool
75
76endif # BLOCK
77
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#
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
123config 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
131config 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
141menu "Caches"
142
143source "fs/fscache/Kconfig"
144source "fs/cachefiles/Kconfig"
145
146endmenu
147
148if BLOCK
149menu "CD-ROM/DVD Filesystems"
150
151source "fs/isofs/Kconfig"
152source "fs/udf/Kconfig"
153
154endmenu
155endif # BLOCK
156
157if BLOCK
158menu "DOS/FAT/NT Filesystems"
159
160source "fs/fat/Kconfig"
161source "fs/ntfs/Kconfig"
162
163endmenu
164endif # BLOCK
165
166menu "Pseudo filesystems"
167
168source "fs/proc/Kconfig"
169source "fs/kernfs/Kconfig"
170source "fs/sysfs/Kconfig"
171
172config TMPFS
173 bool "Tmpfs virtual memory file system support (former shm fs)"
174 depends on SHMEM
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
185config TMPFS_POSIX_ACL
186 bool "Tmpfs POSIX Access Control Lists"
187 depends on TMPFS
188 select TMPFS_XATTR
189 select FS_POSIX_ACL
190 help
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.
202
203config 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
209 the kernel or by users (see the attr(5) manual page for details).
210
211 Currently this enables support for the trusted.* and
212 security.* namespaces.
213
214 You need this for POSIX ACL support on tmpfs.
215
216 If unsure, say N.
217
218config HUGETLBFS
219 bool "HugeTLB file system support"
220 depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
221 SYS_SUPPORTS_HUGETLBFS || BROKEN
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
225 <file:Documentation/admin-guide/mm/hugetlbpage.rst> for details.
226
227 If unsure, say N.
228
229config HUGETLB_PAGE
230 def_bool HUGETLBFS
231
232config MEMFD_CREATE
233 def_bool TMPFS || HUGETLBFS
234
235config ARCH_HAS_GIGANTIC_PAGE
236 bool
237
238source "fs/configfs/Kconfig"
239source "fs/efivarfs/Kconfig"
240
241endmenu
242
243menuconfig 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
256if MISC_FILESYSTEMS
257
258source "fs/orangefs/Kconfig"
259source "fs/adfs/Kconfig"
260source "fs/affs/Kconfig"
261source "fs/ecryptfs/Kconfig"
262source "fs/hfs/Kconfig"
263source "fs/hfsplus/Kconfig"
264source "fs/befs/Kconfig"
265source "fs/bfs/Kconfig"
266source "fs/efs/Kconfig"
267source "fs/jffs2/Kconfig"
268# UBIFS File system configuration
269source "fs/ubifs/Kconfig"
270source "fs/cramfs/Kconfig"
271source "fs/squashfs/Kconfig"
272source "fs/freevxfs/Kconfig"
273source "fs/minix/Kconfig"
274source "fs/omfs/Kconfig"
275source "fs/hpfs/Kconfig"
276source "fs/qnx4/Kconfig"
277source "fs/qnx6/Kconfig"
278source "fs/romfs/Kconfig"
279source "fs/pstore/Kconfig"
280source "fs/sysv/Kconfig"
281source "fs/ufs/Kconfig"
282source "fs/aufs/Kconfig"
283
284endif # MISC_FILESYSTEMS
285
286menuconfig NETWORK_FILESYSTEMS
287 bool "Network File Systems"
288 default y
289 depends on NET
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.
294
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
300if NETWORK_FILESYSTEMS
301
302source "fs/nfs/Kconfig"
303source "fs/nfsd/Kconfig"
304
305config GRACE_PERIOD
306 tristate
307
308config LOCKD
309 tristate
310 depends on FILE_LOCKING
311 select GRACE_PERIOD
312
313config LOCKD_V4
314 bool
315 depends on NFSD_V3 || NFS_V3
316 depends on FILE_LOCKING
317 default y
318
319config NFS_ACL_SUPPORT
320 tristate
321 select FS_POSIX_ACL
322
323config NFS_COMMON
324 bool
325 depends on NFSD || NFS_FS || LOCKD
326 default y
327
328source "net/sunrpc/Kconfig"
329source "fs/ceph/Kconfig"
330source "fs/cifs/Kconfig"
331source "fs/coda/Kconfig"
332source "fs/afs/Kconfig"
333source "fs/9p/Kconfig"
334
335endif # NETWORK_FILESYSTEMS
336
337source "fs/nls/Kconfig"
338source "fs/dlm/Kconfig"
339source "fs/unicode/Kconfig"
340
341endmenu