Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
[sfrench/cifs-2.6.git] / fs / Kconfig
1 #
2 # File system configuration
3 #
4
5 menu "File systems"
6
7 # Use unaligned word dcache accesses
8 config DCACHE_WORD_ACCESS
9        bool
10
11 if BLOCK
12
13 source "fs/ext2/Kconfig"
14 source "fs/ext4/Kconfig"
15 source "fs/jbd2/Kconfig"
16
17 config FS_MBCACHE
18 # Meta block cache for Extended Attributes (ext2/ext3/ext4)
19         tristate
20         default y if EXT2_FS=y && EXT2_FS_XATTR
21         default y if EXT4_FS=y
22         default m if EXT2_FS_XATTR || EXT4_FS
23
24 source "fs/reiserfs/Kconfig"
25 source "fs/jfs/Kconfig"
26
27 source "fs/xfs/Kconfig"
28 source "fs/gfs2/Kconfig"
29 source "fs/ocfs2/Kconfig"
30 source "fs/btrfs/Kconfig"
31 source "fs/nilfs2/Kconfig"
32 source "fs/f2fs/Kconfig"
33
34 config FS_DAX
35         bool "Direct Access (DAX) support"
36         depends on MMU
37         depends on !(ARM || MIPS || SPARC)
38         help
39           Direct Access (DAX) can be used on memory-backed block devices.
40           If the block device supports DAX and the filesystem supports DAX,
41           then you can avoid using the pagecache to buffer I/Os.  Turning
42           on this option will compile in support for DAX; you will need to
43           mount the filesystem using the -o dax option.
44
45           If you do not have a block device that is capable of using this,
46           or if unsure, say N.  Saying Y will increase the size of the kernel
47           by about 5kB.
48
49 config FS_DAX_PMD
50         bool
51         default FS_DAX
52         depends on FS_DAX
53         depends on ZONE_DEVICE
54         depends on TRANSPARENT_HUGEPAGE
55
56 endif # BLOCK
57
58 # Posix ACL utility routines
59 #
60 # Note: Posix ACLs can be implemented without these helpers.  Never use
61 # this symbol for ifdefs in core code.
62 #
63 config FS_POSIX_ACL
64         def_bool n
65
66 config EXPORTFS
67         tristate
68
69 config FILE_LOCKING
70         bool "Enable POSIX file locking API" if EXPERT
71         default y
72         help
73           This option enables standard file locking support, required
74           for filesystems like NFS and for the flock() system
75           call. Disabling this option saves about 11k.
76
77 config MANDATORY_FILE_LOCKING
78         bool "Enable Mandatory file locking"
79         depends on FILE_LOCKING
80         default y
81         help
82           This option enables files appropriately marked files on appropriely
83           mounted filesystems to support mandatory locking.
84
85           To the best of my knowledge this is dead code that no one cares about.
86
87 source "fs/notify/Kconfig"
88
89 source "fs/quota/Kconfig"
90
91 source "fs/autofs4/Kconfig"
92 source "fs/fuse/Kconfig"
93 source "fs/overlayfs/Kconfig"
94
95 menu "Caches"
96
97 source "fs/fscache/Kconfig"
98 source "fs/cachefiles/Kconfig"
99
100 endmenu
101
102 if BLOCK
103 menu "CD-ROM/DVD Filesystems"
104
105 source "fs/isofs/Kconfig"
106 source "fs/udf/Kconfig"
107
108 endmenu
109 endif # BLOCK
110
111 if BLOCK
112 menu "DOS/FAT/NT Filesystems"
113
114 source "fs/fat/Kconfig"
115 source "fs/ntfs/Kconfig"
116
117 endmenu
118 endif # BLOCK
119
120 menu "Pseudo filesystems"
121
122 source "fs/proc/Kconfig"
123 source "fs/kernfs/Kconfig"
124 source "fs/sysfs/Kconfig"
125
126 config TMPFS
127         bool "Tmpfs virtual memory file system support (former shm fs)"
128         depends on SHMEM
129         help
130           Tmpfs is a file system which keeps all files in virtual memory.
131
132           Everything in tmpfs is temporary in the sense that no files will be
133           created on your hard drive. The files live in memory and swap
134           space. If you unmount a tmpfs instance, everything stored therein is
135           lost.
136
137           See <file:Documentation/filesystems/tmpfs.txt> for details.
138
139 config TMPFS_POSIX_ACL
140         bool "Tmpfs POSIX Access Control Lists"
141         depends on TMPFS
142         select TMPFS_XATTR
143         select FS_POSIX_ACL
144         help
145           POSIX Access Control Lists (ACLs) support additional access rights
146           for users and groups beyond the standard owner/group/world scheme,
147           and this option selects support for ACLs specifically for tmpfs
148           filesystems.
149
150           If you've selected TMPFS, it's possible that you'll also need
151           this option as there are a number of Linux distros that require
152           POSIX ACL support under /dev for certain features to work properly.
153           For example, some distros need this feature for ALSA-related /dev
154           files for sound to work properly.  In short, if you're not sure,
155           say Y.
156
157           To learn more about Access Control Lists, visit the POSIX ACLs for
158           Linux website <http://acl.bestbits.at/>.
159
160 config TMPFS_XATTR
161         bool "Tmpfs extended attributes"
162         depends on TMPFS
163         default n
164         help
165           Extended attributes are name:value pairs associated with inodes by
166           the kernel or by users (see the attr(5) manual page, or visit
167           <http://acl.bestbits.at/> for details).
168
169           Currently this enables support for the trusted.* and
170           security.* namespaces.
171
172           You need this for POSIX ACL support on tmpfs.
173
174           If unsure, say N.
175
176 config HUGETLBFS
177         bool "HugeTLB file system support"
178         depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
179                    SYS_SUPPORTS_HUGETLBFS || BROKEN
180         help
181           hugetlbfs is a filesystem backing for HugeTLB pages, based on
182           ramfs. For architectures that support it, say Y here and read
183           <file:Documentation/vm/hugetlbpage.txt> for details.
184
185           If unsure, say N.
186
187 config HUGETLB_PAGE
188         def_bool HUGETLBFS
189
190 source "fs/configfs/Kconfig"
191 source "fs/efivarfs/Kconfig"
192
193 endmenu
194
195 menuconfig MISC_FILESYSTEMS
196         bool "Miscellaneous filesystems"
197         default y
198         ---help---
199           Say Y here to get to see options for various miscellaneous
200           filesystems, such as filesystems that came from other
201           operating systems.
202
203           This option alone does not add any kernel code.
204
205           If you say N, all options in this submenu will be skipped and
206           disabled; if unsure, say Y here.
207
208 if MISC_FILESYSTEMS
209
210 source "fs/adfs/Kconfig"
211 source "fs/affs/Kconfig"
212 source "fs/ecryptfs/Kconfig"
213 source "fs/hfs/Kconfig"
214 source "fs/hfsplus/Kconfig"
215 source "fs/befs/Kconfig"
216 source "fs/bfs/Kconfig"
217 source "fs/efs/Kconfig"
218 source "fs/jffs2/Kconfig"
219 # UBIFS File system configuration
220 source "fs/ubifs/Kconfig"
221 source "fs/logfs/Kconfig"
222 source "fs/cramfs/Kconfig"
223 source "fs/squashfs/Kconfig"
224 source "fs/freevxfs/Kconfig"
225 source "fs/minix/Kconfig"
226 source "fs/omfs/Kconfig"
227 source "fs/hpfs/Kconfig"
228 source "fs/qnx4/Kconfig"
229 source "fs/qnx6/Kconfig"
230 source "fs/romfs/Kconfig"
231 source "fs/pstore/Kconfig"
232 source "fs/sysv/Kconfig"
233 source "fs/ufs/Kconfig"
234 source "fs/exofs/Kconfig"
235
236 endif # MISC_FILESYSTEMS
237
238 source "fs/exofs/Kconfig.ore"
239
240 menuconfig NETWORK_FILESYSTEMS
241         bool "Network File Systems"
242         default y
243         depends on NET
244         ---help---
245           Say Y here to get to see options for network filesystems and
246           filesystem-related networking code, such as NFS daemon and
247           RPCSEC security modules.
248
249           This option alone does not add any kernel code.
250
251           If you say N, all options in this submenu will be skipped and
252           disabled; if unsure, say Y here.
253
254 if NETWORK_FILESYSTEMS
255
256 source "fs/nfs/Kconfig"
257 source "fs/nfsd/Kconfig"
258
259 config GRACE_PERIOD
260         tristate
261
262 config LOCKD
263         tristate
264         depends on FILE_LOCKING
265         select GRACE_PERIOD
266
267 config LOCKD_V4
268         bool
269         depends on NFSD_V3 || NFS_V3
270         depends on FILE_LOCKING
271         default y
272
273 config NFS_ACL_SUPPORT
274         tristate
275         select FS_POSIX_ACL
276
277 config NFS_COMMON
278         bool
279         depends on NFSD || NFS_FS || LOCKD
280         default y
281
282 source "net/sunrpc/Kconfig"
283 source "fs/ceph/Kconfig"
284 source "fs/cifs/Kconfig"
285 source "fs/ncpfs/Kconfig"
286 source "fs/coda/Kconfig"
287 source "fs/afs/Kconfig"
288 source "fs/9p/Kconfig"
289
290 endif # NETWORK_FILESYSTEMS
291
292 source "fs/nls/Kconfig"
293 source "fs/dlm/Kconfig"
294
295 endmenu