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