CONFIG_FILE_LOCKING should not depend on CONFIG_BLOCK
[linux-2.6.git] / fs / Kconfig
1 #
2 # File system configuration
3 #
4
5 menu "File systems"
6
7 if BLOCK
8
9 source "fs/ext2/Kconfig"
10 source "fs/ext3/Kconfig"
11 source "fs/ext4/Kconfig"
12
13 config FS_XIP
14 # execute in place
15         bool
16         depends on EXT2_FS_XIP
17         default y
18
19 source "fs/jbd/Kconfig"
20 source "fs/jbd2/Kconfig"
21
22 config 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
30 source "fs/reiserfs/Kconfig"
31 source "fs/jfs/Kconfig"
32
33 config 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
42 source "fs/xfs/Kconfig"
43 source "fs/gfs2/Kconfig"
44 source "fs/ocfs2/Kconfig"
45 source "fs/btrfs/Kconfig"
46
47 endif # BLOCK
48
49 config 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
57 source "fs/notify/Kconfig"
58
59 source "fs/quota/Kconfig"
60
61 source "fs/autofs/Kconfig"
62 source "fs/autofs4/Kconfig"
63 source "fs/fuse/Kconfig"
64
65 config 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
75 config GENERIC_ACL
76         bool
77         select FS_POSIX_ACL
78
79 menu "Caches"
80
81 source "fs/fscache/Kconfig"
82 source "fs/cachefiles/Kconfig"
83
84 endmenu
85
86 if BLOCK
87 menu "CD-ROM/DVD Filesystems"
88
89 source "fs/isofs/Kconfig"
90 source "fs/udf/Kconfig"
91
92 endmenu
93 endif # BLOCK
94
95 if BLOCK
96 menu "DOS/FAT/NT Filesystems"
97
98 source "fs/fat/Kconfig"
99 source "fs/ntfs/Kconfig"
100
101 endmenu
102 endif # BLOCK
103
104 menu "Pseudo filesystems"
105
106 source "fs/proc/Kconfig"
107 source "fs/sysfs/Kconfig"
108
109 config 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
121 config 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
134 config HUGETLBFS
135         bool "HugeTLB file system support"
136         depends on X86 || IA64 || PPC64 || SPARC64 || (SUPERH && MMU) || \
137                    (S390 && 64BIT) || 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
145 config HUGETLB_PAGE
146         def_bool HUGETLBFS
147
148 source "fs/configfs/Kconfig"
149
150 endmenu
151
152 menuconfig 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
165 if MISC_FILESYSTEMS
166
167 source "fs/adfs/Kconfig"
168 source "fs/affs/Kconfig"
169 source "fs/ecryptfs/Kconfig"
170 source "fs/hfs/Kconfig"
171 source "fs/hfsplus/Kconfig"
172 source "fs/befs/Kconfig"
173 source "fs/bfs/Kconfig"
174 source "fs/efs/Kconfig"
175 source "fs/jffs2/Kconfig"
176 # UBIFS File system configuration
177 source "fs/ubifs/Kconfig"
178 source "fs/cramfs/Kconfig"
179 source "fs/squashfs/Kconfig"
180 source "fs/freevxfs/Kconfig"
181 source "fs/minix/Kconfig"
182 source "fs/omfs/Kconfig"
183 source "fs/hpfs/Kconfig"
184 source "fs/qnx4/Kconfig"
185 source "fs/romfs/Kconfig"
186 source "fs/sysv/Kconfig"
187 source "fs/ufs/Kconfig"
188 source "fs/exofs/Kconfig"
189
190 config 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
216 endif # MISC_FILESYSTEMS
217
218 menuconfig 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
232 if NETWORK_FILESYSTEMS
233
234 source "fs/nfs/Kconfig"
235 source "fs/nfsd/Kconfig"
236
237 config LOCKD
238         tristate
239
240 config LOCKD_V4
241         bool
242         depends on NFSD_V3 || NFS_V3
243         default y
244
245 config EXPORTFS
246         tristate
247
248 config NFS_ACL_SUPPORT
249         tristate
250         select FS_POSIX_ACL
251
252 config NFS_COMMON
253         bool
254         depends on NFSD || NFS_FS
255         default y
256
257 source "net/sunrpc/Kconfig"
258 source "fs/smbfs/Kconfig"
259 source "fs/cifs/Kconfig"
260 source "fs/ncpfs/Kconfig"
261 source "fs/coda/Kconfig"
262 source "fs/afs/Kconfig"
263 source "fs/9p/Kconfig"
264
265 endif # NETWORK_FILESYSTEMS
266
267 if BLOCK
268 menu "Partition Types"
269
270 source "fs/partitions/Kconfig"
271
272 endmenu
273 endif
274
275 source "fs/nls/Kconfig"
276 source "fs/dlm/Kconfig"
277
278 endmenu