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