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