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