blob: 64d420e3c47580a8932bb29a7ac73a51b13cd3d9 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#
3# File system configuration
4#
5
6menu "File systems"
7
Linus Torvaldsbfcfaa72012-03-06 11:16:17 -08008# Use unaligned word dcache accesses
9config DCACHE_WORD_ACCESS
10 bool
11
David Howells31d921c2018-11-01 23:07:24 +000012config VALIDATE_FS_PARSER
13 bool "Validate filesystem parameter description"
David Howells31d921c2018-11-01 23:07:24 +000014 help
15 Enable this to perform validation of the parameter description for a
16 filesystem when it is registered.
17
Christoph Hellwigae259a92016-06-21 09:23:11 +100018config FS_IOMAP
19 bool
20
Amir Goldsteinf91a7042023-10-02 17:19:46 +030021# Stackable filesystems
22config FS_STACK
23 bool
24
Christoph Hellwig925c86a2023-08-01 19:22:01 +020025config BUFFER_HEAD
26 bool
27
Christoph Hellwig9636e652023-01-25 07:58:39 +010028# old blockdev_direct_IO implementation. Use iomap for new code instead
29config LEGACY_DIRECT_IO
Christoph Hellwig925c86a2023-08-01 19:22:01 +020030 depends on BUFFER_HEAD
Christoph Hellwig9636e652023-01-25 07:58:39 +010031 bool
32
Christoph Hellwigca72d222021-11-29 11:22:02 +010033if BLOCK
34
Alexey Dobriyan6da0b382008-10-20 22:28:45 +040035source "fs/ext2/Kconfig"
Alexey Dobriyan6da0b382008-10-20 22:28:45 +040036source "fs/ext4/Kconfig"
Alexey Dobriyan6da0b382008-10-20 22:28:45 +040037source "fs/jbd2/Kconfig"
Mingming Caodab291a2006-10-11 01:21:01 -070038
Linus Torvalds1da177e2005-04-16 15:20:36 -070039config FS_MBCACHE
Mingming Cao02ea2102006-10-11 01:20:56 -070040# Meta block cache for Extended Attributes (ext2/ext3/ext4)
Linus Torvalds1da177e2005-04-16 15:20:36 -070041 tristate
Adrian Bunk2c512392008-08-20 16:56:22 -070042 default y if EXT2_FS=y && EXT2_FS_XATTR
Tao Ma939da102012-12-10 16:30:43 -050043 default y if EXT4_FS=y
Jan Karac290ea02015-06-18 16:52:29 +020044 default m if EXT2_FS_XATTR || EXT4_FS
Linus Torvalds1da177e2005-04-16 15:20:36 -070045
Alexey Dobriyanf5c77962009-01-22 10:24:27 +030046source "fs/jfs/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -070047
Tomas Szepe69050ee2009-06-16 15:33:56 -070048source "fs/xfs/Kconfig"
49source "fs/gfs2/Kconfig"
50source "fs/ocfs2/Kconfig"
51source "fs/btrfs/Kconfig"
Ryusuke Konishi41f4db02009-08-08 16:09:46 +090052source "fs/nilfs2/Kconfig"
Jaegeuk Kimd7196c52015-03-03 17:06:55 -080053source "fs/f2fs/Kconfig"
Kent Overstreet1c6fdbd2017-03-16 22:18:50 -080054source "fs/bcachefs/Kconfig"
Damien Le Moal8dcc1a92019-12-25 16:07:44 +090055source "fs/zonefs/Kconfig"
Tomas Szepe69050ee2009-06-16 15:33:56 -070056
Christoph Hellwigb842f1d2021-11-29 11:22:03 +010057endif # BLOCK
58
Matthew Wilcox6cd176a2015-02-16 15:59:25 -080059config FS_DAX
Christoph Hellwig6c97ec12021-08-26 15:55:02 +020060 bool "File system based Direct Access (DAX) support"
Matthew Wilcox6cd176a2015-02-16 15:59:25 -080061 depends on MMU
Christoph Hellwigf7451592022-02-16 15:31:37 +110062 depends on ZONE_DEVICE || FS_DAX_LIMITED
Ross Zwisler6affb9d2017-01-24 15:17:51 -080063 select FS_IOMAP
Dan Williamsef5104242017-05-08 10:55:27 -070064 select DAX
Matthew Wilcox6cd176a2015-02-16 15:59:25 -080065 help
66 Direct Access (DAX) can be used on memory-backed block devices.
67 If the block device supports DAX and the filesystem supports DAX,
68 then you can avoid using the pagecache to buffer I/Os. Turning
Christoph Hellwig6c97ec12021-08-26 15:55:02 +020069 on this option will compile in support for DAX.
70
71 For a DAX device to support file system access it needs to have
72 struct pages. For the nfit based NVDIMMs this can be enabled
73 using the ndctl utility:
74
75 # ndctl create-namespace --force --reconfig=namespace0.0 \
76 --mode=fsdax --map=mem
77
78 See the 'create-namespace' man page for details on the overhead of
79 --map=mem:
80 https://docs.pmem.io/ndctl-user-guide/ndctl-man-pages/ndctl-create-namespace
81
82 For ndctl to work CONFIG_DEV_DAX needs to be enabled as well. For most
83 file systems DAX support needs to be manually enabled globally or
84 per-inode using a mount option as well. See the file documentation in
85 Documentation/filesystems/dax.rst for details.
Matthew Wilcox6cd176a2015-02-16 15:59:25 -080086
87 If you do not have a block device that is capable of using this,
88 or if unsure, say N. Saying Y will increase the size of the kernel
89 by about 5kB.
90
Dan Williamsee82c9e2015-11-15 16:06:32 -080091config FS_DAX_PMD
92 bool
93 default FS_DAX
94 depends on FS_DAX
Dan Williamsc046c322016-01-15 16:57:01 -080095 depends on ZONE_DEVICE
96 depends on TRANSPARENT_HUGEPAGE
Dan Williamsee82c9e2015-11-15 16:06:32 -080097
Dan Williams569d0362017-10-14 11:33:32 -070098# Selected by DAX drivers that do not expect filesystem DAX to support
99# get_user_pages() of DAX mappings. I.e. "limited" indicates no support
100# for fork() of processes with MAP_SHARED mappings or support for
101# direct-I/O to a DAX mapping.
102config FS_DAX_LIMITED
103 bool
104
Randy Dunlap16ebe912011-01-02 14:44:00 -0800105# Posix ACL utility routines
106#
107# Note: Posix ACLs can be implemented without these helpers. Never use
108# this symbol for ifdefs in core code.
109#
110config FS_POSIX_ACL
111 def_bool n
112
Randy Dunlap4199ca72010-10-26 14:22:32 -0700113config EXPORTFS
Jonas Gorski79fead42011-05-24 20:12:08 +0200114 tristate
Randy Dunlap4199ca72010-10-26 14:22:32 -0700115
Benjamin Coddington15d66ac2016-07-08 09:53:20 -0400116config EXPORTFS_BLOCK_OPS
117 bool "Enable filesystem export operations for block IO"
118 help
119 This option enables the export operations for a filesystem to support
120 external block IO.
121
Thomas Petazzonibfcd17a2008-08-06 15:12:22 +0200122config FILE_LOCKING
David Rientjes6a108a12011-01-20 14:44:16 -0800123 bool "Enable POSIX file locking API" if EXPERT
Thomas Petazzonibfcd17a2008-08-06 15:12:22 +0200124 default y
125 help
126 This option enables standard file locking support, required
127 for filesystems like NFS and for the flock() system
128 call. Disabling this option saves about 11k.
129
Jaegeuk Kim0b81d072015-05-15 16:26:10 -0700130source "fs/crypto/Kconfig"
131
Eric Biggers671e67b2019-07-22 09:26:21 -0700132source "fs/verity/Kconfig"
133
Eric Paris272eb012008-12-17 13:59:41 -0500134source "fs/notify/Kconfig"
Amy Griffis2d9048e2006-06-01 13:10:59 -0700135
Jan Kara884d1792009-01-26 15:28:09 +0100136source "fs/quota/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700137
Ian Kent2a3ae0a2018-06-07 17:11:31 -0700138source "fs/autofs/Kconfig"
Alexey Dobriyan3ef77842009-01-22 10:33:25 +0300139source "fs/fuse/Kconfig"
Miklos Szeredie9be9d52014-10-24 00:14:38 +0200140source "fs/overlayfs/Kconfig"
Miklos Szeredi04578f12005-09-09 13:10:22 -0700141
David Howells06b3db12009-04-03 16:42:36 +0100142menu "Caches"
143
David Howells3d3c9502020-05-13 17:41:20 +0100144source "fs/netfs/Kconfig"
David Howells9ae326a2009-04-03 16:42:41 +0100145source "fs/cachefiles/Kconfig"
David Howells06b3db12009-04-03 16:42:36 +0100146
147endmenu
148
David Howells93614012006-09-30 20:45:40 +0200149if BLOCK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700150menu "CD-ROM/DVD Filesystems"
151
Alexey Dobriyanddfaccd2009-01-22 10:35:21 +0300152source "fs/isofs/Kconfig"
153source "fs/udf/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700154
155endmenu
Randy Dunlap25fad942008-02-07 00:15:16 -0800156endif # BLOCK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700157
David Howells93614012006-09-30 20:45:40 +0200158if BLOCK
Namjae Jeonb9d1e2e2020-03-02 15:21:42 +0900159menu "DOS/FAT/EXFAT/NT Filesystems"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700160
Alexey Dobriyan1c6ace02009-01-22 10:37:59 +0300161source "fs/fat/Kconfig"
Namjae Jeonb9d1e2e2020-03-02 15:21:42 +0900162source "fs/exfat/Kconfig"
Konstantin Komarov6e5be402021-08-13 17:21:30 +0300163source "fs/ntfs3/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700164
165endmenu
Randy Dunlap25fad942008-02-07 00:15:16 -0800166endif # BLOCK
Linus Torvalds1da177e2005-04-16 15:20:36 -0700167
168menu "Pseudo filesystems"
169
Alexey Dobriyan6eedf8d2008-07-25 01:48:30 -0700170source "fs/proc/Kconfig"
Tejun Heoba341d52014-02-03 14:09:17 -0500171source "fs/kernfs/Kconfig"
Alexey Dobriyan5f3a2112009-01-22 10:40:58 +0300172source "fs/sysfs/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700173
Linus Torvalds1da177e2005-04-16 15:20:36 -0700174config TMPFS
Robert P. J. Dayf5fc8702011-10-31 17:07:21 -0700175 bool "Tmpfs virtual memory file system support (former shm fs)"
Hugh Dickins3f96b792009-09-21 17:03:37 -0700176 depends on SHMEM
Thomas Weißschuh626e98c2023-06-30 11:08:53 +0200177 select MEMFD_CREATE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178 help
179 Tmpfs is a file system which keeps all files in virtual memory.
180
181 Everything in tmpfs is temporary in the sense that no files will be
182 created on your hard drive. The files live in memory and swap
183 space. If you unmount a tmpfs instance, everything stored therein is
184 lost.
185
Mauro Carvalho Chehab0c1bc6b2020-04-14 18:48:37 +0200186 See <file:Documentation/filesystems/tmpfs.rst> for details.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700187
Eric Paris4db70f72011-05-25 19:49:18 -0700188config TMPFS_POSIX_ACL
189 bool "Tmpfs POSIX Access Control Lists"
190 depends on TMPFS
191 select TMPFS_XATTR
Christoph Hellwigfeda8212013-12-20 05:16:54 -0800192 select FS_POSIX_ACL
Eric Paris4db70f72011-05-25 19:49:18 -0700193 help
Robert P. J. Day206506c2011-08-03 16:21:29 -0700194 POSIX Access Control Lists (ACLs) support additional access rights
195 for users and groups beyond the standard owner/group/world scheme,
196 and this option selects support for ACLs specifically for tmpfs
197 filesystems.
198
199 If you've selected TMPFS, it's possible that you'll also need
200 this option as there are a number of Linux distros that require
201 POSIX ACL support under /dev for certain features to work properly.
202 For example, some distros need this feature for ALSA-related /dev
203 files for sound to work properly. In short, if you're not sure,
204 say Y.
Eric Paris4db70f72011-05-25 19:49:18 -0700205
Eric Parisb09e0fa2011-05-24 17:12:39 -0700206config TMPFS_XATTR
207 bool "Tmpfs extended attributes"
208 depends on TMPFS
209 default n
210 help
211 Extended attributes are name:value pairs associated with inodes by
Adam Borowski91581e42017-12-20 14:58:52 +0100212 the kernel or by users (see the attr(5) manual page for details).
Eric Parisb09e0fa2011-05-24 17:12:39 -0700213
Hugh Dickins2daf18a2023-08-08 21:33:56 -0700214 This enables support for the trusted.*, security.* and user.*
215 namespaces.
Eric Parisb09e0fa2011-05-24 17:12:39 -0700216
Eric Parisb09e0fa2011-05-24 17:12:39 -0700217 You need this for POSIX ACL support on tmpfs.
218
Eric Paris4db70f72011-05-25 19:49:18 -0700219 If unsure, say N.
Andreas Gruenbacher39f02472006-09-29 02:01:35 -0700220
Chris Downea3271f2020-08-06 23:20:25 -0700221config TMPFS_INODE64
222 bool "Use 64-bit ino_t by default in tmpfs"
Heiko Carstensd0ed78e2021-03-01 21:02:49 +0100223 depends on TMPFS && 64BIT
Chris Downea3271f2020-08-06 23:20:25 -0700224 default n
225 help
226 tmpfs has historically used only inode numbers as wide as an unsigned
227 int. In some cases this can cause wraparound, potentially resulting
228 in multiple files with the same inode number on a single device. This
229 option makes tmpfs use the full width of ino_t by default, without
230 needing to specify the inode64 option when mounting.
231
232 But if a long-lived tmpfs is to be accessed by 32-bit applications so
233 ancient that opening a file larger than 2GiB fails with EINVAL, then
234 the INODE64 config option and inode64 mount option risk operations
235 failing with EOVERFLOW once 33-bit inode numbers are reached.
236
237 To override this configured default, use the inode32 or inode64
238 option when mounting.
239
240 If unsure, say N.
241
Carlos Maiolinoeafc4742023-07-25 16:45:07 +0200242config TMPFS_QUOTA
243 bool "Tmpfs quota support"
244 depends on TMPFS
245 select QUOTA
246 help
247 Quota support allows to set per user and group limits for tmpfs
248 usage. Say Y to enable quota support. Once enabled you can control
249 user and group quota enforcement with quota, usrquota and grpquota
250 mount options.
251
252 If unsure, say N.
253
Anshuman Khandual855f9a82021-05-04 18:38:13 -0700254config ARCH_SUPPORTS_HUGETLBFS
255 def_bool n
256
Peter Xucddba0a2023-11-24 10:19:02 -0500257menuconfig HUGETLBFS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700258 bool "HugeTLB file system support"
Ard Biesheuvelcf8e8652022-10-20 15:54:33 +0200259 depends on X86 || SPARC64 || ARCH_SUPPORTS_HUGETLBFS || BROKEN
Miaohe Linf8142cf2022-09-01 20:00:30 +0800260 depends on (SYSFS || SYSCTL)
Thomas Weißschuh626e98c2023-06-30 11:08:53 +0200261 select MEMFD_CREATE
Gang Li26d1dc62024-02-22 22:04:19 +0800262 select PADATA if SMP
Arthur Othienodda27d12006-04-18 22:20:57 -0700263 help
264 hugetlbfs is a filesystem backing for HugeTLB pages, based on
265 ramfs. For architectures that support it, say Y here and read
Mike Rapoport1ad13352018-04-18 11:07:49 +0300266 <file:Documentation/admin-guide/mm/hugetlbpage.rst> for details.
Arthur Othienodda27d12006-04-18 22:20:57 -0700267
268 If unsure, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700269
Peter Xucddba0a2023-11-24 10:19:02 -0500270if HUGETLBFS
271config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
272 bool "HugeTLB Vmemmap Optimization (HVO) defaults to on"
273 default n
274 depends on HUGETLB_PAGE_OPTIMIZE_VMEMMAP
275 help
276 The HugeTLB Vmemmap Optimization (HVO) defaults to off. Say Y here to
277 enable HVO by default. It can be disabled via hugetlb_free_vmemmap=off
278 (boot command line) or hugetlb_optimize_vmemmap (sysctl).
279endif # HUGETLBFS
280
Linus Torvalds1da177e2005-04-16 15:20:36 -0700281config HUGETLB_PAGE
282 def_bool HUGETLBFS
Sidhartha Kumar4a3ef6b2023-12-04 10:32:34 -0800283 select XARRAY_MULTI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700284
Muchun Song47010c02022-04-28 23:16:15 -0700285config HUGETLB_PAGE_OPTIMIZE_VMEMMAP
Muchun Song6be24be2021-06-30 18:47:04 -0700286 def_bool HUGETLB_PAGE
Aneesh Kumar K.V0b6f1582023-07-25 00:37:53 +0530287 depends on ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
Muchun Song6be24be2021-06-30 18:47:04 -0700288 depends on SPARSEMEM_VMEMMAP
289
David Hildenbrand188cac52024-07-26 17:07:27 +0200290config HUGETLB_PMD_PAGE_TABLE_SHARING
291 def_bool HUGETLB_PAGE
292 depends on ARCH_WANT_HUGE_PMD_SHARE && SPLIT_PMD_PTLOCKS
293
Yisheng Xie461a7182016-10-07 17:01:46 -0700294config ARCH_HAS_GIGANTIC_PAGE
295 bool
296
Alexey Dobriyan4591dab2009-01-22 10:42:52 +0300297source "fs/configfs/Kconfig"
Leif Lindholm62c204d2014-12-18 17:50:49 +0000298source "fs/efivarfs/Kconfig"
Joel Becker7063fbf2005-12-15 14:29:43 -0800299
Linus Torvalds1da177e2005-04-16 15:20:36 -0700300endmenu
301
Randy Dunlap67ec7d32009-01-06 14:40:57 -0800302menuconfig MISC_FILESYSTEMS
303 bool "Miscellaneous filesystems"
304 default y
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900305 help
Randy Dunlap67ec7d32009-01-06 14:40:57 -0800306 Say Y here to get to see options for various miscellaneous
307 filesystems, such as filesystems that came from other
308 operating systems.
309
310 This option alone does not add any kernel code.
311
312 If you say N, all options in this submenu will be skipped and
313 disabled; if unsure, say Y here.
314
315if MISC_FILESYSTEMS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700316
Mike Marshall07f01962015-07-17 10:38:17 -0400317source "fs/orangefs/Kconfig"
Alexey Dobriyanbc2de2a2009-01-22 10:48:46 +0300318source "fs/adfs/Kconfig"
Alexey Dobriyan10951bf2009-01-22 10:49:44 +0300319source "fs/affs/Kconfig"
Alexey Dobriyan295c8962009-01-22 10:50:50 +0300320source "fs/ecryptfs/Kconfig"
Alexey Dobriyanb08bac12009-01-22 10:53:24 +0300321source "fs/hfs/Kconfig"
322source "fs/hfsplus/Kconfig"
Alexey Dobriyan0b09eb32009-01-22 10:54:16 +0300323source "fs/befs/Kconfig"
Alexey Dobriyan0ff423842009-01-22 10:55:13 +0300324source "fs/bfs/Kconfig"
Alexey Dobriyan571f0a02009-01-22 10:56:07 +0300325source "fs/efs/Kconfig"
Alexey Dobriyan31db6e92008-08-29 07:19:50 +0400326source "fs/jffs2/Kconfig"
Artem Bityutskiy0d7eff82008-07-14 19:08:38 +0300327# UBIFS File system configuration
328source "fs/ubifs/Kconfig"
Alexey Dobriyan2a227832009-01-22 10:56:54 +0300329source "fs/cramfs/Kconfig"
Alexey Dobriyan22635ec2009-01-22 10:57:46 +0300330source "fs/squashfs/Kconfig"
Alexey Dobriyan22135162009-01-22 10:58:51 +0300331source "fs/freevxfs/Kconfig"
Alexey Dobriyan8b1cd7d2009-01-22 10:59:49 +0300332source "fs/minix/Kconfig"
Alexey Dobriyanda55e6f2009-01-22 11:00:41 +0300333source "fs/omfs/Kconfig"
Alexey Dobriyan928ea192009-01-22 11:01:26 +0300334source "fs/hpfs/Kconfig"
Alexey Dobriyan4c741582009-01-22 11:02:21 +0300335source "fs/qnx4/Kconfig"
Kai Bankett5d026c72012-02-17 05:59:20 +0100336source "fs/qnx6/Kconfig"
Alexey Dobriyan41810242009-01-22 11:03:34 +0300337source "fs/romfs/Kconfig"
Tony Luckca01d6d2010-12-28 14:25:21 -0800338source "fs/pstore/Kconfig"
Alexey Dobriyan8af915b2009-01-22 11:04:23 +0300339source "fs/sysv/Kconfig"
Alexey Dobriyana276a522009-01-22 11:05:02 +0300340source "fs/ufs/Kconfig"
Gao Xiang47e49372019-08-23 05:36:59 +0800341source "fs/erofs/Kconfig"
Hans de Goede0fd16952019-12-12 15:09:14 +0100342source "fs/vboxsf/Kconfig"
Ryusuke Konishi0c4fb872009-04-06 19:01:41 -0700343
Randy Dunlap67ec7d32009-01-06 14:40:57 -0800344endif # MISC_FILESYSTEMS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700345
Jan Engelhardtea0985a2007-10-16 23:30:16 -0700346menuconfig NETWORK_FILESYSTEMS
347 bool "Network File Systems"
348 default y
Linus Torvalds1da177e2005-04-16 15:20:36 -0700349 depends on NET
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +0900350 help
Jan Engelhardtea0985a2007-10-16 23:30:16 -0700351 Say Y here to get to see options for network filesystems and
352 filesystem-related networking code, such as NFS daemon and
353 RPCSEC security modules.
Chuck Lever6fb1bc12008-05-21 17:09:04 -0400354
Jan Engelhardtea0985a2007-10-16 23:30:16 -0700355 This option alone does not add any kernel code.
356
357 If you say N, all options in this submenu will be skipped and
358 disabled; if unsure, say Y here.
359
360if NETWORK_FILESYSTEMS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700361
Alexey Dobriyan97afe472009-01-22 11:07:41 +0300362source "fs/nfs/Kconfig"
Alexey Dobriyane2b329e2009-01-22 11:08:58 +0300363source "fs/nfsd/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700364
Jeff Laytonf7790022014-09-12 16:40:20 -0400365config GRACE_PERIOD
366 tristate
367
Linus Torvalds1da177e2005-04-16 15:20:36 -0700368config LOCKD
369 tristate
Randy Dunlapdd4dc822009-05-12 13:28:09 -0700370 depends on FILE_LOCKING
Jeff Laytonf7790022014-09-12 16:40:20 -0400371 select GRACE_PERIOD
Linus Torvalds1da177e2005-04-16 15:20:36 -0700372
373config LOCKD_V4
374 bool
Chuck Lever5f9a62f2022-02-06 12:25:47 -0500375 depends on NFSD || NFS_V3
Randy Dunlapdd4dc822009-05-12 13:28:09 -0700376 depends on FILE_LOCKING
Linus Torvalds1da177e2005-04-16 15:20:36 -0700377 default y
378
Andreas Gruenbachera257cdd2005-06-22 17:16:26 +0000379config NFS_ACL_SUPPORT
380 tristate
381 select FS_POSIX_ACL
382
383config NFS_COMMON
384 bool
Jeff Laytonf7790022014-09-12 16:40:20 -0400385 depends on NFSD || NFS_FS || LOCKD
Andreas Gruenbachera257cdd2005-06-22 17:16:26 +0000386 default y
387
Mike Snitzer2a33a852024-09-05 15:09:48 -0400388config NFS_COMMON_LOCALIO_SUPPORT
389 tristate
Mike Snitzer009b15b52024-10-03 15:34:59 -0400390 depends on NFS_LOCALIO
Mike Snitzer2a33a852024-09-05 15:09:48 -0400391 default y if NFSD=y || NFS_FS=y
392 default m if NFSD=m && NFS_FS=m
393 select SUNRPC
394
395config NFS_LOCALIO
396 bool "NFS client and server support for LOCALIO auxiliary protocol"
397 depends on NFSD && NFS_FS
398 select NFS_COMMON_LOCALIO_SUPPORT
399 default n
400 help
401 Some NFS servers support an auxiliary NFS LOCALIO protocol
402 that is not an official part of the NFS protocol.
403
404 This option enables support for the LOCALIO protocol in the
405 kernel's NFS server and client. Enable this to permit local
406 NFS clients to bypass the network when issuing reads and
407 writes to the local NFS server.
408
409 If unsure, say N.
410
Dai Ngo02591f92021-01-28 01:42:26 -0500411config NFS_V4_2_SSC_HELPER
Dai Ngod9092b42021-04-22 03:37:49 -0400412 bool
413 default y if NFS_V4_2
Dai Ngo02591f92021-01-28 01:42:26 -0500414
Alexey Dobriyan9098c242009-01-22 11:11:56 +0300415source "net/sunrpc/Kconfig"
Sage Weil9030aaf2009-10-06 11:31:15 -0700416source "fs/ceph/Kconfig"
Ronnie Sahlberg71c02862021-08-19 20:34:59 +1000417
Steve French38c8a9a2023-05-21 20:46:30 -0500418source "fs/smb/Kconfig"
Alexey Dobriyan33a1a6f2009-01-22 11:15:06 +0300419source "fs/coda/Kconfig"
Alexey Dobriyanb2480c72009-01-22 11:16:02 +0300420source "fs/afs/Kconfig"
Alexey Dobriyan0fcb4402009-01-22 11:16:42 +0300421source "fs/9p/Kconfig"
Eric Van Hensbergen93fa58c2005-09-09 13:04:18 -0700422
Jan Engelhardtea0985a2007-10-16 23:30:16 -0700423endif # NETWORK_FILESYSTEMS
Linus Torvalds1da177e2005-04-16 15:20:36 -0700424
Linus Torvalds1da177e2005-04-16 15:20:36 -0700425source "fs/nls/Kconfig"
David Teiglande7fd4172006-01-18 09:30:29 +0000426source "fs/dlm/Kconfig"
Gabriel Krisman Bertazi955405d2019-04-25 13:38:44 -0400427source "fs/unicode/Kconfig"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700428
Jens Axboe771b53d02019-10-22 10:25:58 -0600429config IO_WQ
430 bool
431
Linus Torvalds1da177e2005-04-16 15:20:36 -0700432endmenu