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