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