xref: /linux/fs/Kconfig (revision 2277ab4a1df50e05bc732fe9488d4e902bb8399a)
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"
46
47endif # BLOCK
48
49config FILE_LOCKING
50	bool "Enable POSIX file locking API" if EMBEDDED
51	default y
52	help
53	  This option enables standard file locking support, required
54          for filesystems like NFS and for the flock() system
55          call. Disabling this option saves about 11k.
56
57source "fs/notify/Kconfig"
58
59source "fs/quota/Kconfig"
60
61source "fs/autofs/Kconfig"
62source "fs/autofs4/Kconfig"
63source "fs/fuse/Kconfig"
64
65config CUSE
66	tristate "Character device in Userpace support"
67	depends on FUSE_FS
68	help
69	  This FUSE extension allows character devices to be
70	  implemented in userspace.
71
72	  If you want to develop or use userspace character device
73	  based on CUSE, answer Y or M.
74
75config GENERIC_ACL
76	bool
77	select FS_POSIX_ACL
78
79menu "Caches"
80
81source "fs/fscache/Kconfig"
82source "fs/cachefiles/Kconfig"
83
84endmenu
85
86if BLOCK
87menu "CD-ROM/DVD Filesystems"
88
89source "fs/isofs/Kconfig"
90source "fs/udf/Kconfig"
91
92endmenu
93endif # BLOCK
94
95if BLOCK
96menu "DOS/FAT/NT Filesystems"
97
98source "fs/fat/Kconfig"
99source "fs/ntfs/Kconfig"
100
101endmenu
102endif # BLOCK
103
104menu "Pseudo filesystems"
105
106source "fs/proc/Kconfig"
107source "fs/sysfs/Kconfig"
108
109config TMPFS
110	bool "Virtual memory file system support (former shm fs)"
111	help
112	  Tmpfs is a file system which keeps all files in virtual memory.
113
114	  Everything in tmpfs is temporary in the sense that no files will be
115	  created on your hard drive. The files live in memory and swap
116	  space. If you unmount a tmpfs instance, everything stored therein is
117	  lost.
118
119	  See <file:Documentation/filesystems/tmpfs.txt> for details.
120
121config TMPFS_POSIX_ACL
122	bool "Tmpfs POSIX Access Control Lists"
123	depends on TMPFS
124	select GENERIC_ACL
125	help
126	  POSIX Access Control Lists (ACLs) support permissions for users and
127	  groups beyond the owner/group/world scheme.
128
129	  To learn more about Access Control Lists, visit the POSIX ACLs for
130	  Linux website <http://acl.bestbits.at/>.
131
132	  If you don't know what Access Control Lists are, say N.
133
134config HUGETLBFS
135	bool "HugeTLB file system support"
136	depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
137		   (S390 && 64BIT) || SYS_SUPPORTS_HUGETLBFS || BROKEN
138	help
139	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
140	  ramfs. For architectures that support it, say Y here and read
141	  <file:Documentation/vm/hugetlbpage.txt> for details.
142
143	  If unsure, say N.
144
145config HUGETLB_PAGE
146	def_bool HUGETLBFS
147
148source "fs/configfs/Kconfig"
149
150endmenu
151
152menuconfig MISC_FILESYSTEMS
153	bool "Miscellaneous filesystems"
154	default y
155	---help---
156	  Say Y here to get to see options for various miscellaneous
157	  filesystems, such as filesystems that came from other
158	  operating systems.
159
160	  This option alone does not add any kernel code.
161
162	  If you say N, all options in this submenu will be skipped and
163	  disabled; if unsure, say Y here.
164
165if MISC_FILESYSTEMS
166
167source "fs/adfs/Kconfig"
168source "fs/affs/Kconfig"
169source "fs/ecryptfs/Kconfig"
170source "fs/hfs/Kconfig"
171source "fs/hfsplus/Kconfig"
172source "fs/befs/Kconfig"
173source "fs/bfs/Kconfig"
174source "fs/efs/Kconfig"
175source "fs/jffs2/Kconfig"
176# UBIFS File system configuration
177source "fs/ubifs/Kconfig"
178source "fs/cramfs/Kconfig"
179source "fs/squashfs/Kconfig"
180source "fs/freevxfs/Kconfig"
181source "fs/minix/Kconfig"
182source "fs/omfs/Kconfig"
183source "fs/hpfs/Kconfig"
184source "fs/qnx4/Kconfig"
185source "fs/romfs/Kconfig"
186source "fs/sysv/Kconfig"
187source "fs/ufs/Kconfig"
188source "fs/exofs/Kconfig"
189
190config NILFS2_FS
191	tristate "NILFS2 file system support (EXPERIMENTAL)"
192	depends on BLOCK && EXPERIMENTAL
193	select CRC32
194	help
195	  NILFS2 is a log-structured file system (LFS) supporting continuous
196	  snapshotting.  In addition to versioning capability of the entire
197	  file system, users can even restore files mistakenly overwritten or
198	  destroyed just a few seconds ago.  Since this file system can keep
199	  consistency like conventional LFS, it achieves quick recovery after
200	  system crashes.
201
202	  NILFS2 creates a number of checkpoints every few seconds or per
203	  synchronous write basis (unless there is no change).  Users can
204	  select significant versions among continuously created checkpoints,
205	  and can change them into snapshots which will be preserved for long
206	  periods until they are changed back to checkpoints.  Each
207	  snapshot is mountable as a read-only file system concurrently with
208	  its writable mount, and this feature is convenient for online backup.
209
210	  Some features including atime, extended attributes, and POSIX ACLs,
211	  are not supported yet.
212
213	  To compile this file system support as a module, choose M here: the
214	  module will be called nilfs2.  If unsure, say N.
215
216endif # MISC_FILESYSTEMS
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 LOCKD
238	tristate
239	depends on FILE_LOCKING
240
241config LOCKD_V4
242	bool
243	depends on NFSD_V3 || NFS_V3
244	depends on FILE_LOCKING
245	default y
246
247config EXPORTFS
248	tristate
249
250config NFS_ACL_SUPPORT
251	tristate
252	select FS_POSIX_ACL
253
254config NFS_COMMON
255	bool
256	depends on NFSD || NFS_FS
257	default y
258
259source "net/sunrpc/Kconfig"
260source "fs/smbfs/Kconfig"
261source "fs/cifs/Kconfig"
262source "fs/ncpfs/Kconfig"
263source "fs/coda/Kconfig"
264source "fs/afs/Kconfig"
265source "fs/9p/Kconfig"
266
267endif # NETWORK_FILESYSTEMS
268
269if BLOCK
270menu "Partition Types"
271
272source "fs/partitions/Kconfig"
273
274endmenu
275endif
276
277source "fs/nls/Kconfig"
278source "fs/dlm/Kconfig"
279
280endmenu
281