xref: /linux/fs/Kconfig (revision cb299ba8b5ef2239429484072fea394cd7581bd7)
1#
2# File system configuration
3#
4
5menu "File systems"
6
7if BLOCK
8
9source "fs/ext2/Kconfig"
10source "fs/ext3/Kconfig"
11source "fs/ext4/Kconfig"
12
13config FS_XIP
14# execute in place
15	bool
16	depends on EXT2_FS_XIP
17	default y
18
19source "fs/jbd/Kconfig"
20source "fs/jbd2/Kconfig"
21
22config FS_MBCACHE
23# Meta block cache for Extended Attributes (ext2/ext3/ext4)
24	tristate
25	default y if EXT2_FS=y && EXT2_FS_XATTR
26	default y if EXT3_FS=y && EXT3_FS_XATTR
27	default y if EXT4_FS=y && EXT4_FS_XATTR
28	default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS_XATTR
29
30source "fs/reiserfs/Kconfig"
31source "fs/jfs/Kconfig"
32
33config FS_POSIX_ACL
34# Posix ACL utility routines (for now, only ext2/ext3/jfs/reiserfs/nfs4)
35#
36# NOTE: you can implement Posix ACLs without these helpers (XFS does).
37# 	Never use this symbol for ifdefs.
38#
39	bool
40	default n
41
42source "fs/xfs/Kconfig"
43source "fs/gfs2/Kconfig"
44source "fs/ocfs2/Kconfig"
45source "fs/btrfs/Kconfig"
46source "fs/nilfs2/Kconfig"
47
48endif # BLOCK
49
50config EXPORTFS
51	tristate
52
53config FILE_LOCKING
54	bool "Enable POSIX file locking API" if EMBEDDED
55	default y
56	select BKL # while lockd still uses it.
57	help
58	  This option enables standard file locking support, required
59          for filesystems like NFS and for the flock() system
60          call. Disabling this option saves about 11k.
61
62source "fs/notify/Kconfig"
63
64source "fs/quota/Kconfig"
65
66source "fs/autofs/Kconfig"
67source "fs/autofs4/Kconfig"
68source "fs/fuse/Kconfig"
69
70config CUSE
71	tristate "Character device in Userspace support"
72	depends on FUSE_FS
73	help
74	  This FUSE extension allows character devices to be
75	  implemented in userspace.
76
77	  If you want to develop or use userspace character device
78	  based on CUSE, answer Y or M.
79
80config GENERIC_ACL
81	bool
82	select FS_POSIX_ACL
83
84menu "Caches"
85
86source "fs/fscache/Kconfig"
87source "fs/cachefiles/Kconfig"
88
89endmenu
90
91if BLOCK
92menu "CD-ROM/DVD Filesystems"
93
94source "fs/isofs/Kconfig"
95source "fs/udf/Kconfig"
96
97endmenu
98endif # BLOCK
99
100if BLOCK
101menu "DOS/FAT/NT Filesystems"
102
103source "fs/fat/Kconfig"
104source "fs/ntfs/Kconfig"
105
106endmenu
107endif # BLOCK
108
109menu "Pseudo filesystems"
110
111source "fs/proc/Kconfig"
112source "fs/sysfs/Kconfig"
113
114config TMPFS
115	bool "Virtual memory file system support (former shm fs)"
116	depends on SHMEM
117	help
118	  Tmpfs is a file system which keeps all files in virtual memory.
119
120	  Everything in tmpfs is temporary in the sense that no files will be
121	  created on your hard drive. The files live in memory and swap
122	  space. If you unmount a tmpfs instance, everything stored therein is
123	  lost.
124
125	  See <file:Documentation/filesystems/tmpfs.txt> for details.
126
127config TMPFS_POSIX_ACL
128	bool "Tmpfs POSIX Access Control Lists"
129	depends on TMPFS
130	select GENERIC_ACL
131	help
132	  POSIX Access Control Lists (ACLs) support permissions for users and
133	  groups beyond the owner/group/world scheme.
134
135	  To learn more about Access Control Lists, visit the POSIX ACLs for
136	  Linux website <http://acl.bestbits.at/>.
137
138	  If you don't know what Access Control Lists are, say N.
139
140config HUGETLBFS
141	bool "HugeTLB file system support"
142	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
143		   SYS_SUPPORTS_HUGETLBFS || BROKEN
144	help
145	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
146	  ramfs. For architectures that support it, say Y here and read
147	  <file:Documentation/vm/hugetlbpage.txt> for details.
148
149	  If unsure, say N.
150
151config HUGETLB_PAGE
152	def_bool HUGETLBFS
153
154source "fs/configfs/Kconfig"
155
156endmenu
157
158menuconfig MISC_FILESYSTEMS
159	bool "Miscellaneous filesystems"
160	default y
161	---help---
162	  Say Y here to get to see options for various miscellaneous
163	  filesystems, such as filesystems that came from other
164	  operating systems.
165
166	  This option alone does not add any kernel code.
167
168	  If you say N, all options in this submenu will be skipped and
169	  disabled; if unsure, say Y here.
170
171if MISC_FILESYSTEMS
172
173source "fs/adfs/Kconfig"
174source "fs/affs/Kconfig"
175source "fs/ecryptfs/Kconfig"
176source "fs/hfs/Kconfig"
177source "fs/hfsplus/Kconfig"
178source "fs/befs/Kconfig"
179source "fs/bfs/Kconfig"
180source "fs/efs/Kconfig"
181source "fs/jffs2/Kconfig"
182# UBIFS File system configuration
183source "fs/ubifs/Kconfig"
184source "fs/logfs/Kconfig"
185source "fs/cramfs/Kconfig"
186source "fs/squashfs/Kconfig"
187source "fs/freevxfs/Kconfig"
188source "fs/minix/Kconfig"
189source "fs/omfs/Kconfig"
190source "fs/hpfs/Kconfig"
191source "fs/qnx4/Kconfig"
192source "fs/romfs/Kconfig"
193source "fs/sysv/Kconfig"
194source "fs/ufs/Kconfig"
195source "fs/exofs/Kconfig"
196
197endif # MISC_FILESYSTEMS
198
199menuconfig NETWORK_FILESYSTEMS
200	bool "Network File Systems"
201	default y
202	depends on NET
203	---help---
204	  Say Y here to get to see options for network filesystems and
205	  filesystem-related networking code, such as NFS daemon and
206	  RPCSEC security modules.
207
208	  This option alone does not add any kernel code.
209
210	  If you say N, all options in this submenu will be skipped and
211	  disabled; if unsure, say Y here.
212
213if NETWORK_FILESYSTEMS
214
215source "fs/nfs/Kconfig"
216source "fs/nfsd/Kconfig"
217
218config LOCKD
219	tristate
220	depends on FILE_LOCKING
221
222config LOCKD_V4
223	bool
224	depends on NFSD_V3 || NFS_V3
225	depends on FILE_LOCKING
226	default y
227
228config NFS_ACL_SUPPORT
229	tristate
230	select FS_POSIX_ACL
231
232config NFS_COMMON
233	bool
234	depends on NFSD || NFS_FS
235	default y
236
237source "net/sunrpc/Kconfig"
238source "fs/smbfs/Kconfig"
239source "fs/ceph/Kconfig"
240source "fs/cifs/Kconfig"
241source "fs/ncpfs/Kconfig"
242source "fs/coda/Kconfig"
243source "fs/afs/Kconfig"
244source "fs/9p/Kconfig"
245
246endif # NETWORK_FILESYSTEMS
247
248if BLOCK
249menu "Partition Types"
250
251source "fs/partitions/Kconfig"
252
253endmenu
254endif
255
256source "fs/nls/Kconfig"
257source "fs/dlm/Kconfig"
258
259endmenu
260