xref: /linux/fs/Kconfig (revision 092e0e7e520a1fca03e13c9f2d157432a8657ff2)
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 FILE_LOCKING
51	bool "Enable POSIX file locking API" if EMBEDDED
52	default y
53	select BKL # while lockd still uses it.
54	help
55	  This option enables standard file locking support, required
56          for filesystems like NFS and for the flock() system
57          call. Disabling this option saves about 11k.
58
59source "fs/notify/Kconfig"
60
61source "fs/quota/Kconfig"
62
63source "fs/autofs/Kconfig"
64source "fs/autofs4/Kconfig"
65source "fs/fuse/Kconfig"
66
67config CUSE
68	tristate "Character device in Userspace support"
69	depends on FUSE_FS
70	help
71	  This FUSE extension allows character devices to be
72	  implemented in userspace.
73
74	  If you want to develop or use userspace character device
75	  based on CUSE, answer Y or M.
76
77config GENERIC_ACL
78	bool
79	select FS_POSIX_ACL
80
81menu "Caches"
82
83source "fs/fscache/Kconfig"
84source "fs/cachefiles/Kconfig"
85
86endmenu
87
88if BLOCK
89menu "CD-ROM/DVD Filesystems"
90
91source "fs/isofs/Kconfig"
92source "fs/udf/Kconfig"
93
94endmenu
95endif # BLOCK
96
97if BLOCK
98menu "DOS/FAT/NT Filesystems"
99
100source "fs/fat/Kconfig"
101source "fs/ntfs/Kconfig"
102
103endmenu
104endif # BLOCK
105
106menu "Pseudo filesystems"
107
108source "fs/proc/Kconfig"
109source "fs/sysfs/Kconfig"
110
111config TMPFS
112	bool "Virtual memory file system support (former shm fs)"
113	depends on SHMEM
114	help
115	  Tmpfs is a file system which keeps all files in virtual memory.
116
117	  Everything in tmpfs is temporary in the sense that no files will be
118	  created on your hard drive. The files live in memory and swap
119	  space. If you unmount a tmpfs instance, everything stored therein is
120	  lost.
121
122	  See <file:Documentation/filesystems/tmpfs.txt> for details.
123
124config TMPFS_POSIX_ACL
125	bool "Tmpfs POSIX Access Control Lists"
126	depends on TMPFS
127	select GENERIC_ACL
128	help
129	  POSIX Access Control Lists (ACLs) support permissions for users and
130	  groups beyond the owner/group/world scheme.
131
132	  To learn more about Access Control Lists, visit the POSIX ACLs for
133	  Linux website <http://acl.bestbits.at/>.
134
135	  If you don't know what Access Control Lists are, say N.
136
137config HUGETLBFS
138	bool "HugeTLB file system support"
139	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
140		   SYS_SUPPORTS_HUGETLBFS || BROKEN
141	help
142	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
143	  ramfs. For architectures that support it, say Y here and read
144	  <file:Documentation/vm/hugetlbpage.txt> for details.
145
146	  If unsure, say N.
147
148config HUGETLB_PAGE
149	def_bool HUGETLBFS
150
151source "fs/configfs/Kconfig"
152
153endmenu
154
155menuconfig MISC_FILESYSTEMS
156	bool "Miscellaneous filesystems"
157	default y
158	---help---
159	  Say Y here to get to see options for various miscellaneous
160	  filesystems, such as filesystems that came from other
161	  operating systems.
162
163	  This option alone does not add any kernel code.
164
165	  If you say N, all options in this submenu will be skipped and
166	  disabled; if unsure, say Y here.
167
168if MISC_FILESYSTEMS
169
170source "fs/adfs/Kconfig"
171source "fs/affs/Kconfig"
172source "fs/ecryptfs/Kconfig"
173source "fs/hfs/Kconfig"
174source "fs/hfsplus/Kconfig"
175source "fs/befs/Kconfig"
176source "fs/bfs/Kconfig"
177source "fs/efs/Kconfig"
178source "fs/jffs2/Kconfig"
179# UBIFS File system configuration
180source "fs/ubifs/Kconfig"
181source "fs/logfs/Kconfig"
182source "fs/cramfs/Kconfig"
183source "fs/squashfs/Kconfig"
184source "fs/freevxfs/Kconfig"
185source "fs/minix/Kconfig"
186source "fs/omfs/Kconfig"
187source "fs/hpfs/Kconfig"
188source "fs/qnx4/Kconfig"
189source "fs/romfs/Kconfig"
190source "fs/sysv/Kconfig"
191source "fs/ufs/Kconfig"
192source "fs/exofs/Kconfig"
193
194endif # MISC_FILESYSTEMS
195
196menuconfig NETWORK_FILESYSTEMS
197	bool "Network File Systems"
198	default y
199	depends on NET
200	---help---
201	  Say Y here to get to see options for network filesystems and
202	  filesystem-related networking code, such as NFS daemon and
203	  RPCSEC security modules.
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 NETWORK_FILESYSTEMS
211
212source "fs/nfs/Kconfig"
213source "fs/nfsd/Kconfig"
214
215config LOCKD
216	tristate
217	depends on FILE_LOCKING
218
219config LOCKD_V4
220	bool
221	depends on NFSD_V3 || NFS_V3
222	depends on FILE_LOCKING
223	default y
224
225config EXPORTFS
226	tristate
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