orangefs: remove wrapper around mutex_lock(&inode->i_mutex)
[cascardo/linux.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/orangefs/Kconfig"
211 source "fs/adfs/Kconfig"
212 source "fs/affs/Kconfig"
213 source "fs/ecryptfs/Kconfig"
214 source "fs/hfs/Kconfig"
215 source "fs/hfsplus/Kconfig"
216 source "fs/befs/Kconfig"
217 source "fs/bfs/Kconfig"
218 source "fs/efs/Kconfig"
219 source "fs/jffs2/Kconfig"
220 # UBIFS File system configuration
221 source "fs/ubifs/Kconfig"
222 source "fs/logfs/Kconfig"
223 source "fs/cramfs/Kconfig"
224 source "fs/squashfs/Kconfig"
225 source "fs/freevxfs/Kconfig"
226 source "fs/minix/Kconfig"
227 source "fs/omfs/Kconfig"
228 source "fs/hpfs/Kconfig"
229 source "fs/qnx4/Kconfig"
230 source "fs/qnx6/Kconfig"
231 source "fs/romfs/Kconfig"
232 source "fs/pstore/Kconfig"
233 source "fs/sysv/Kconfig"
234 source "fs/ufs/Kconfig"
235 source "fs/exofs/Kconfig"
236
237 endif # MISC_FILESYSTEMS
238
239 source "fs/exofs/Kconfig.ore"
240
241 menuconfig NETWORK_FILESYSTEMS
242         bool "Network File Systems"
243         default y
244         depends on NET
245         ---help---
246           Say Y here to get to see options for network filesystems and
247           filesystem-related networking code, such as NFS daemon and
248           RPCSEC security modules.
249
250           This option alone does not add any kernel code.
251
252           If you say N, all options in this submenu will be skipped and
253           disabled; if unsure, say Y here.
254
255 if NETWORK_FILESYSTEMS
256
257 source "fs/nfs/Kconfig"
258 source "fs/nfsd/Kconfig"
259
260 config GRACE_PERIOD
261         tristate
262
263 config LOCKD
264         tristate
265         depends on FILE_LOCKING
266         select GRACE_PERIOD
267
268 config LOCKD_V4
269         bool
270         depends on NFSD_V3 || NFS_V3
271         depends on FILE_LOCKING
272         default y
273
274 config NFS_ACL_SUPPORT
275         tristate
276         select FS_POSIX_ACL
277
278 config NFS_COMMON
279         bool
280         depends on NFSD || NFS_FS || LOCKD
281         default y
282
283 source "net/sunrpc/Kconfig"
284 source "fs/ceph/Kconfig"
285 source "fs/cifs/Kconfig"
286 source "fs/ncpfs/Kconfig"
287 source "fs/coda/Kconfig"
288 source "fs/afs/Kconfig"
289 source "fs/9p/Kconfig"
290
291 endif # NETWORK_FILESYSTEMS
292
293 source "fs/nls/Kconfig"
294 source "fs/dlm/Kconfig"
295
296 endmenu