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