]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blame - fs/Kconfig
ext4: check for inconsistent extents between index and leaf block
[mirror_ubuntu-focal-kernel.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"
69050eee 43
6cd176a5
MW
44config 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
62config 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.
73config FS_DAX_LIMITED
74 bool
75
69050eee
TS
76endif # 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#
83config FS_POSIX_ACL
84 def_bool n
85
4199ca77 86config EXPORTFS
79fead47 87 tristate
4199ca77 88
15d66ac2
BC
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
bfcd17a6 95config 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
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
0b81d077
JK
113source "fs/crypto/Kconfig"
114
671e67b4
EB
115source "fs/verity/Kconfig"
116
272eb014 117source "fs/notify/Kconfig"
0eeca283 118
884d179d 119source "fs/quota/Kconfig"
1da177e4 120
2a3ae0a1 121source "fs/autofs/Kconfig"
3ef7784e 122source "fs/fuse/Kconfig"
e9be9d5e 123source "fs/overlayfs/Kconfig"
04578f17 124
8ef17b62
JB
125config SHIFT_FS
126 tristate "UID/GID shifting overlay filesystem for containers"
127 help
128 This filesystem can overlay any mounted filesystem and shift
129 the uid/gid the files appear at. The idea is that
130 unprivileged containers can use this to mount root volumes
131 using this technique.
132
2b77b5c4
CB
133config SHIFT_FS_POSIX_ACL
134 bool "shiftfs POSIX Access Control Lists"
135 depends on SHIFT_FS
136 select FS_POSIX_ACL
137 help
138 POSIX Access Control Lists (ACLs) support permissions for users and
139 groups beyond the owner/group/world scheme.
140
141 If you don't know what Access Control Lists are, say N.
142
06b3db1b
DH
143menu "Caches"
144
145source "fs/fscache/Kconfig"
9ae326a6 146source "fs/cachefiles/Kconfig"
06b3db1b
DH
147
148endmenu
149
9361401e 150if BLOCK
1da177e4
LT
151menu "CD-ROM/DVD Filesystems"
152
ddfaccd9
AD
153source "fs/isofs/Kconfig"
154source "fs/udf/Kconfig"
1da177e4
LT
155
156endmenu
25fad945 157endif # BLOCK
1da177e4 158
9361401e 159if BLOCK
1da177e4
LT
160menu "DOS/FAT/NT Filesystems"
161
1c6ace01 162source "fs/fat/Kconfig"
9d73ac9e 163source "fs/ntfs/Kconfig"
1da177e4
LT
164
165endmenu
25fad945 166endif # BLOCK
1da177e4
LT
167
168menu "Pseudo filesystems"
169
6eedf8d3 170source "fs/proc/Kconfig"
ba341d55 171source "fs/kernfs/Kconfig"
5f3a211a 172source "fs/sysfs/Kconfig"
1da177e4 173
1da177e4 174config TMPFS
f5fc870d 175 bool "Tmpfs virtual memory file system support (former shm fs)"
3f96b79a 176 depends on SHMEM
1da177e4
LT
177 help
178 Tmpfs is a file system which keeps all files in virtual memory.
179
180 Everything in tmpfs is temporary in the sense that no files will be
181 created on your hard drive. The files live in memory and swap
182 space. If you unmount a tmpfs instance, everything stored therein is
183 lost.
184
185 See <file:Documentation/filesystems/tmpfs.txt> for details.
186
4db70f73
EP
187config TMPFS_POSIX_ACL
188 bool "Tmpfs POSIX Access Control Lists"
189 depends on TMPFS
190 select TMPFS_XATTR
feda821e 191 select FS_POSIX_ACL
4db70f73 192 help
206506cc
RD
193 POSIX Access Control Lists (ACLs) support additional access rights
194 for users and groups beyond the standard owner/group/world scheme,
195 and this option selects support for ACLs specifically for tmpfs
196 filesystems.
197
198 If you've selected TMPFS, it's possible that you'll also need
199 this option as there are a number of Linux distros that require
200 POSIX ACL support under /dev for certain features to work properly.
201 For example, some distros need this feature for ALSA-related /dev
202 files for sound to work properly. In short, if you're not sure,
203 say Y.
4db70f73 204
b09e0fa4
EP
205config TMPFS_XATTR
206 bool "Tmpfs extended attributes"
207 depends on TMPFS
208 default n
209 help
210 Extended attributes are name:value pairs associated with inodes by
91581e4c 211 the kernel or by users (see the attr(5) manual page for details).
b09e0fa4
EP
212
213 Currently this enables support for the trusted.* and
214 security.* namespaces.
215
b09e0fa4
EP
216 You need this for POSIX ACL support on tmpfs.
217
4db70f73 218 If unsure, say N.
39f0247d 219
1da177e4
LT
220config HUGETLBFS
221 bool "HugeTLB file system support"
5a1eb5c4 222 depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
ffb4a73d 223 SYS_SUPPORTS_HUGETLBFS || BROKEN
dda27d1a
AO
224 help
225 hugetlbfs is a filesystem backing for HugeTLB pages, based on
226 ramfs. For architectures that support it, say Y here and read
1ad1335d 227 <file:Documentation/admin-guide/mm/hugetlbpage.rst> for details.
dda27d1a
AO
228
229 If unsure, say N.
1da177e4
LT
230
231config HUGETLB_PAGE
232 def_bool HUGETLBFS
233
5d752600
MK
234config MEMFD_CREATE
235 def_bool TMPFS || HUGETLBFS
236
461a7184
YX
237config ARCH_HAS_GIGANTIC_PAGE
238 bool
239
4591dabe 240source "fs/configfs/Kconfig"
62c204dd 241source "fs/efivarfs/Kconfig"
7063fbf2 242
1da177e4
LT
243endmenu
244
67ec7d3a
RD
245menuconfig MISC_FILESYSTEMS
246 bool "Miscellaneous filesystems"
247 default y
248 ---help---
249 Say Y here to get to see options for various miscellaneous
250 filesystems, such as filesystems that came from other
251 operating systems.
252
253 This option alone does not add any kernel code.
254
255 If you say N, all options in this submenu will be skipped and
256 disabled; if unsure, say Y here.
257
258if MISC_FILESYSTEMS
1da177e4 259
07f01962 260source "fs/orangefs/Kconfig"
bc2de2ae 261source "fs/adfs/Kconfig"
10951bf0 262source "fs/affs/Kconfig"
295c896c 263source "fs/ecryptfs/Kconfig"
b08bac1f
AD
264source "fs/hfs/Kconfig"
265source "fs/hfsplus/Kconfig"
0b09eb32 266source "fs/befs/Kconfig"
0ff42384 267source "fs/bfs/Kconfig"
571f0a0b 268source "fs/efs/Kconfig"
31db6e9e 269source "fs/jffs2/Kconfig"
0d7eff87
AB
270# UBIFS File system configuration
271source "fs/ubifs/Kconfig"
2a22783b 272source "fs/cramfs/Kconfig"
22635ec9 273source "fs/squashfs/Kconfig"
22135169 274source "fs/freevxfs/Kconfig"
8b1cd7d3 275source "fs/minix/Kconfig"
da55e6f9 276source "fs/omfs/Kconfig"
928ea192 277source "fs/hpfs/Kconfig"
4c741583 278source "fs/qnx4/Kconfig"
5d026c72 279source "fs/qnx6/Kconfig"
41810246 280source "fs/romfs/Kconfig"
ca01d6dd 281source "fs/pstore/Kconfig"
8af915ba 282source "fs/sysv/Kconfig"
a276a52f 283source "fs/ufs/Kconfig"
47e4937a 284source "fs/erofs/Kconfig"
a3a49a17 285source "fs/aufs/Kconfig"
0c4fb877 286
67ec7d3a 287endif # MISC_FILESYSTEMS
1da177e4 288
ea0985ad
JE
289menuconfig NETWORK_FILESYSTEMS
290 bool "Network File Systems"
291 default y
1da177e4 292 depends on NET
ea0985ad
JE
293 ---help---
294 Say Y here to get to see options for network filesystems and
295 filesystem-related networking code, such as NFS daemon and
296 RPCSEC security modules.
6fb1bc10 297
ea0985ad
JE
298 This option alone does not add any kernel code.
299
300 If you say N, all options in this submenu will be skipped and
301 disabled; if unsure, say Y here.
302
303if NETWORK_FILESYSTEMS
1da177e4 304
97afe47a 305source "fs/nfs/Kconfig"
e2b329e2 306source "fs/nfsd/Kconfig"
1da177e4 307
f7790029
JL
308config GRACE_PERIOD
309 tristate
310
1da177e4
LT
311config LOCKD
312 tristate
dd4dc82d 313 depends on FILE_LOCKING
f7790029 314 select GRACE_PERIOD
1da177e4
LT
315
316config LOCKD_V4
317 bool
318 depends on NFSD_V3 || NFS_V3
dd4dc82d 319 depends on FILE_LOCKING
1da177e4
LT
320 default y
321
a257cdd0
AG
322config NFS_ACL_SUPPORT
323 tristate
324 select FS_POSIX_ACL
325
326config NFS_COMMON
327 bool
f7790029 328 depends on NFSD || NFS_FS || LOCKD
a257cdd0
AG
329 default y
330
9098c24f 331source "net/sunrpc/Kconfig"
9030aaf9 332source "fs/ceph/Kconfig"
bb26b963 333source "fs/cifs/Kconfig"
33a1a6fe 334source "fs/coda/Kconfig"
b2480c7f 335source "fs/afs/Kconfig"
0fcb4408 336source "fs/9p/Kconfig"
93fa58cb 337
ea0985ad 338endif # NETWORK_FILESYSTEMS
1da177e4 339
1da177e4 340source "fs/nls/Kconfig"
e7fd4179 341source "fs/dlm/Kconfig"
955405d1 342source "fs/unicode/Kconfig"
1da177e4
LT
343
344endmenu