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