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