xref: /openbmc/linux/fs/Kconfig (revision cc8bbe1a)
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/notify/Kconfig"
88
89source "fs/quota/Kconfig"
90
91source "fs/autofs4/Kconfig"
92source "fs/fuse/Kconfig"
93source "fs/overlayfs/Kconfig"
94
95menu "Caches"
96
97source "fs/fscache/Kconfig"
98source "fs/cachefiles/Kconfig"
99
100endmenu
101
102if BLOCK
103menu "CD-ROM/DVD Filesystems"
104
105source "fs/isofs/Kconfig"
106source "fs/udf/Kconfig"
107
108endmenu
109endif # BLOCK
110
111if BLOCK
112menu "DOS/FAT/NT Filesystems"
113
114source "fs/fat/Kconfig"
115source "fs/ntfs/Kconfig"
116
117endmenu
118endif # BLOCK
119
120menu "Pseudo filesystems"
121
122source "fs/proc/Kconfig"
123source "fs/kernfs/Kconfig"
124source "fs/sysfs/Kconfig"
125
126config TMPFS
127	bool "Tmpfs virtual memory file system support (former shm fs)"
128	depends on SHMEM
129	help
130	  Tmpfs is a file system which keeps all files in virtual memory.
131
132	  Everything in tmpfs is temporary in the sense that no files will be
133	  created on your hard drive. The files live in memory and swap
134	  space. If you unmount a tmpfs instance, everything stored therein is
135	  lost.
136
137	  See <file:Documentation/filesystems/tmpfs.txt> for details.
138
139config TMPFS_POSIX_ACL
140	bool "Tmpfs POSIX Access Control Lists"
141	depends on TMPFS
142	select TMPFS_XATTR
143	select FS_POSIX_ACL
144	help
145	  POSIX Access Control Lists (ACLs) support additional access rights
146	  for users and groups beyond the standard owner/group/world scheme,
147	  and this option selects support for ACLs specifically for tmpfs
148	  filesystems.
149
150	  If you've selected TMPFS, it's possible that you'll also need
151	  this option as there are a number of Linux distros that require
152	  POSIX ACL support under /dev for certain features to work properly.
153	  For example, some distros need this feature for ALSA-related /dev
154	  files for sound to work properly.  In short, if you're not sure,
155	  say Y.
156
157	  To learn more about Access Control Lists, visit the POSIX ACLs for
158	  Linux website <http://acl.bestbits.at/>.
159
160config TMPFS_XATTR
161	bool "Tmpfs extended attributes"
162	depends on TMPFS
163	default n
164	help
165	  Extended attributes are name:value pairs associated with inodes by
166	  the kernel or by users (see the attr(5) manual page, or visit
167	  <http://acl.bestbits.at/> for details).
168
169	  Currently this enables support for the trusted.* and
170	  security.* namespaces.
171
172	  You need this for POSIX ACL support on tmpfs.
173
174	  If unsure, say N.
175
176config HUGETLBFS
177	bool "HugeTLB file system support"
178	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
179		   SYS_SUPPORTS_HUGETLBFS || BROKEN
180	help
181	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
182	  ramfs. For architectures that support it, say Y here and read
183	  <file:Documentation/vm/hugetlbpage.txt> for details.
184
185	  If unsure, say N.
186
187config HUGETLB_PAGE
188	def_bool HUGETLBFS
189
190source "fs/configfs/Kconfig"
191source "fs/efivarfs/Kconfig"
192
193endmenu
194
195menuconfig MISC_FILESYSTEMS
196	bool "Miscellaneous filesystems"
197	default y
198	---help---
199	  Say Y here to get to see options for various miscellaneous
200	  filesystems, such as filesystems that came from other
201	  operating systems.
202
203	  This option alone does not add any kernel code.
204
205	  If you say N, all options in this submenu will be skipped and
206	  disabled; if unsure, say Y here.
207
208if MISC_FILESYSTEMS
209
210source "fs/adfs/Kconfig"
211source "fs/affs/Kconfig"
212source "fs/ecryptfs/Kconfig"
213source "fs/hfs/Kconfig"
214source "fs/hfsplus/Kconfig"
215source "fs/befs/Kconfig"
216source "fs/bfs/Kconfig"
217source "fs/efs/Kconfig"
218source "fs/jffs2/Kconfig"
219# UBIFS File system configuration
220source "fs/ubifs/Kconfig"
221source "fs/logfs/Kconfig"
222source "fs/cramfs/Kconfig"
223source "fs/squashfs/Kconfig"
224source "fs/freevxfs/Kconfig"
225source "fs/minix/Kconfig"
226source "fs/omfs/Kconfig"
227source "fs/hpfs/Kconfig"
228source "fs/qnx4/Kconfig"
229source "fs/qnx6/Kconfig"
230source "fs/romfs/Kconfig"
231source "fs/pstore/Kconfig"
232source "fs/sysv/Kconfig"
233source "fs/ufs/Kconfig"
234source "fs/exofs/Kconfig"
235
236endif # MISC_FILESYSTEMS
237
238source "fs/exofs/Kconfig.ore"
239
240menuconfig NETWORK_FILESYSTEMS
241	bool "Network File Systems"
242	default y
243	depends on NET
244	---help---
245	  Say Y here to get to see options for network filesystems and
246	  filesystem-related networking code, such as NFS daemon and
247	  RPCSEC security modules.
248
249	  This option alone does not add any kernel code.
250
251	  If you say N, all options in this submenu will be skipped and
252	  disabled; if unsure, say Y here.
253
254if NETWORK_FILESYSTEMS
255
256source "fs/nfs/Kconfig"
257source "fs/nfsd/Kconfig"
258
259config GRACE_PERIOD
260	tristate
261
262config LOCKD
263	tristate
264	depends on FILE_LOCKING
265	select GRACE_PERIOD
266
267config LOCKD_V4
268	bool
269	depends on NFSD_V3 || NFS_V3
270	depends on FILE_LOCKING
271	default y
272
273config NFS_ACL_SUPPORT
274	tristate
275	select FS_POSIX_ACL
276
277config NFS_COMMON
278	bool
279	depends on NFSD || NFS_FS || LOCKD
280	default y
281
282source "net/sunrpc/Kconfig"
283source "fs/ceph/Kconfig"
284source "fs/cifs/Kconfig"
285source "fs/ncpfs/Kconfig"
286source "fs/coda/Kconfig"
287source "fs/afs/Kconfig"
288source "fs/9p/Kconfig"
289
290endif # NETWORK_FILESYSTEMS
291
292source "fs/nls/Kconfig"
293source "fs/dlm/Kconfig"
294
295endmenu
296