source: src/linux/universal/linux-4.9/fs/Kconfig @ 31630

Last change on this file since 31630 was 31630, checked in by brainslayer, 2 months ago

new fs is compatible with standard squashfs, just smaller

File size: 9.9 KB
Line 
1#
2# File system configuration
3#
4
5menu "File systems"
6
7# Use unaligned word dcache accesses
8config DCACHE_WORD_ACCESS
9       bool
10
11if BLOCK
12
13config FS_IOMAP
14        bool
15
16source "fs/ext2/Kconfig"
17source "fs/ext4/Kconfig"
18source "fs/jbd2/Kconfig"
19
20config 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
27source "fs/reiserfs/Kconfig"
28source "fs/jfs/Kconfig"
29
30source "fs/xfs/Kconfig"
31source "fs/gfs2/Kconfig"
32source "fs/ocfs2/Kconfig"
33source "fs/btrfs/Kconfig"
34source "fs/nilfs2/Kconfig"
35source "fs/f2fs/Kconfig"
36
37config 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
52config 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
60endif # 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#
67config FS_POSIX_ACL
68        def_bool n
69
70config EXPORTFS
71        tristate
72
73config 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
79config 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
88config 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
98source "fs/crypto/Kconfig"
99
100config DIRECT_IO
101        bool "Enable O_DIRECT support" if EXPERT
102        depends on BLOCK
103        default y
104
105source "fs/notify/Kconfig"
106
107source "fs/quota/Kconfig"
108
109source "fs/autofs4/Kconfig"
110source "fs/fuse/Kconfig"
111source "fs/overlayfs/Kconfig"
112
113menu "Caches"
114
115source "fs/fscache/Kconfig"
116source "fs/cachefiles/Kconfig"
117
118endmenu
119
120if BLOCK
121menu "CD-ROM/DVD Filesystems"
122
123source "fs/isofs/Kconfig"
124source "fs/udf/Kconfig"
125
126endmenu
127endif # BLOCK
128
129if BLOCK
130menu "DOS/FAT/NT Filesystems"
131
132source "fs/fat/Kconfig"
133source "fs/exfat/Kconfig"
134source "fs/ntfs/Kconfig"
135
136endmenu
137endif # BLOCK
138
139menu "Pseudo filesystems"
140
141source "fs/proc/Kconfig"
142source "fs/kernfs/Kconfig"
143source "fs/sysfs/Kconfig"
144
145config TMPFS
146        bool "Tmpfs virtual memory file system support (former shm fs)"
147        help
148          Tmpfs is a file system which keeps all files in virtual memory.
149
150          Everything in tmpfs is temporary in the sense that no files will be
151          created on your hard drive. The files live in memory and swap
152          space. If you unmount a tmpfs instance, everything stored therein is
153          lost.
154
155          See <file:Documentation/filesystems/tmpfs.txt> for details.
156
157config TMPFS_POSIX_ACL
158        bool "Tmpfs POSIX Access Control Lists"
159        depends on TMPFS
160        select TMPFS_XATTR
161        select FS_POSIX_ACL
162        help
163          POSIX Access Control Lists (ACLs) support additional access rights
164          for users and groups beyond the standard owner/group/world scheme,
165          and this option selects support for ACLs specifically for tmpfs
166          filesystems.
167
168          If you've selected TMPFS, it's possible that you'll also need
169          this option as there are a number of Linux distros that require
170          POSIX ACL support under /dev for certain features to work properly.
171          For example, some distros need this feature for ALSA-related /dev
172          files for sound to work properly.  In short, if you're not sure,
173          say Y.
174
175          To learn more about Access Control Lists, visit the POSIX ACLs for
176          Linux website <http://acl.bestbits.at/>.
177
178config TMPFS_XATTR
179        bool "Tmpfs extended attributes"
180        depends on TMPFS
181        default n
182        help
183          Extended attributes are name:value pairs associated with inodes by
184          the kernel or by users (see the attr(5) manual page, or visit
185          <http://acl.bestbits.at/> for details).
186
187          Currently this enables support for the trusted.* and
188          security.* namespaces.
189
190          You need this for POSIX ACL support on tmpfs.
191
192          If unsure, say N.
193
194
195config HUGETLBFS
196        bool "HugeTLB file system support"
197        depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
198                   SYS_SUPPORTS_HUGETLBFS || BROKEN
199        help
200          hugetlbfs is a filesystem backing for HugeTLB pages, based on
201          ramfs. For architectures that support it, say Y here and read
202          <file:Documentation/vm/hugetlbpage.txt> for details.
203
204          If unsure, say N.
205
206config HUGETLB_PAGE
207        def_bool HUGETLBFS
208
209config ARCH_HAS_GIGANTIC_PAGE
210        bool
211
212source "fs/configfs/Kconfig"
213source "fs/efivarfs/Kconfig"
214
215endmenu
216
217menuconfig MISC_FILESYSTEMS
218        bool "Miscellaneous filesystems"
219        default y
220        ---help---
221          Say Y here to get to see options for various miscellaneous
222          filesystems, such as filesystems that came from other
223          operating systems.
224
225          This option alone does not add any kernel code.
226
227          If you say N, all options in this submenu will be skipped and
228          disabled; if unsure, say Y here.
229
230if MISC_FILESYSTEMS
231
232source "fs/orangefs/Kconfig"
233source "fs/adfs/Kconfig"
234source "fs/affs/Kconfig"
235source "fs/ecryptfs/Kconfig"
236source "fs/hfs/Kconfig"
237source "fs/hfsplus/Kconfig"
238source "fs/befs/Kconfig"
239source "fs/bfs/Kconfig"
240source "fs/efs/Kconfig"
241
242# Patched by YAFFS
243source "fs/yaffs2/Kconfig"
244
245source "fs/jffs2/Kconfig"
246# UBIFS File system configuration
247source "fs/ubifs/Kconfig"
248source "fs/logfs/Kconfig"
249source "fs/cramfs/Kconfig"
250source "fs/squashfs/Kconfig"
251
252config SQUASHFS_DD
253        tristate "SquashFS 3.0 - Squashed file system support"
254        help
255          Saying Y here includes support for SquashFS 3.0 (a Compressed Read-Only File
256          System).  Squashfs is a highly compressed read-only filesystem for Linux.
257          It uses zlib compression to compress both files, inodes and directories.
258          Inodes in the system are very small and all blocks are packed to minimise
259          data overhead. Block sizes greater than 4K are supported up to a maximum of 64K.
260          SquashFS 3.0 supports 64 bit filesystems and files (larger than 4GB), full
261          uid/gid information, hard links and timestamps.
262
263          Squashfs is intended for general read-only filesystem use, for archival
264          use (i.e. in cases where a .tar.gz file may be used), and in embedded
265          systems where low overhead is needed.  Further information and filesystem tools
266          are available from http://squashfs.sourceforge.net.
267
268          If you want to compile this as a module ( = code which can be
269          inserted in and removed from the running kernel whenever you want),
270          say M here and read <file:Documentation/modules.txt>.  The module
271          will be called squashfs.  Note that the root file system (the one
272          containing the directory /) cannot be compiled as a module.
273
274          If unsure, say N.
275
276config SQUASHFS_EMBEDDED_DD
277
278        bool "Additional options for memory-constrained systems"
279        depends on SQUASHFS_DD
280        default n
281        help
282          Saying Y here allows you to specify cache sizes and how Squashfs
283          allocates memory.  This is only intended for memory constrained
284          systems.
285
286          If unsure, say N.
287
288config SQUASHFS_FRAGMENT_CACHE_SIZE_DD
289        int "Number of fragments cached" if SQUASHFS_EMBEDDED
290        depends on SQUASHFS_DD
291        default "3"
292        help
293          By default SquashFS caches the last 3 fragments read from
294          the filesystem.  Increasing this amount may mean SquashFS
295          has to re-read fragments less often from disk, at the expense
296          of extra system memory.  Decreasing this amount will mean
297          SquashFS uses less memory at the expense of extra reads from disk.
298
299          Note there must be at least one cached fragment.  Anything
300          much more than three will probably not make much difference.
301
302config SQUASHFS_VMALLOC_DD
303        bool "Use Vmalloc rather than Kmalloc" if SQUASHFS_EMBEDDED
304        depends on SQUASHFS_DD
305        default n
306        help
307          By default SquashFS uses kmalloc to obtain fragment cache memory.
308          Kmalloc memory is the standard kernel allocator, but it can fail
309          on memory constrained systems.  Because of the way Vmalloc works,
310          Vmalloc can succeed when kmalloc fails.  Specifying this option
311          will make SquashFS always use Vmalloc to allocate the
312          fragment cache memory.
313
314          If unsure, say N.
315
316
317#source "fs/squashfs/Kconfig"
318source "fs/freevxfs/Kconfig"
319source "fs/minix/Kconfig"
320source "fs/omfs/Kconfig"
321source "fs/hpfs/Kconfig"
322source "fs/qnx4/Kconfig"
323source "fs/qnx6/Kconfig"
324source "fs/romfs/Kconfig"
325source "fs/pstore/Kconfig"
326source "fs/sysv/Kconfig"
327source "fs/ufs/Kconfig"
328source "fs/exofs/Kconfig"
329
330endif # MISC_FILESYSTEMS
331
332source "fs/exofs/Kconfig.ore"
333
334menuconfig NETWORK_FILESYSTEMS
335        bool "Network File Systems"
336        default y
337        depends on NET
338        ---help---
339          Say Y here to get to see options for network filesystems and
340          filesystem-related networking code, such as NFS daemon and
341          RPCSEC security modules.
342
343          This option alone does not add any kernel code.
344
345          If you say N, all options in this submenu will be skipped and
346          disabled; if unsure, say Y here.
347
348if NETWORK_FILESYSTEMS
349
350source "fs/nfs/Kconfig"
351source "fs/nfsd/Kconfig"
352
353config GRACE_PERIOD
354        tristate
355
356
357config LOCKD
358        tristate
359        depends on FILE_LOCKING
360        select GRACE_PERIOD
361
362config LOCKD_V4
363        bool
364        depends on NFSD_V3 || NFS_V3
365        depends on FILE_LOCKING
366        default y
367
368config NFS_ACL_SUPPORT
369        tristate
370        select FS_POSIX_ACL
371
372config NFS_COMMON
373        bool
374        depends on NFSD || NFS_FS || LOCKD
375        default y
376
377source "net/sunrpc/Kconfig"
378source "fs/ceph/Kconfig"
379source "fs/cifs/Kconfig"
380source "fs/ncpfs/Kconfig"
381source "fs/coda/Kconfig"
382source "fs/afs/Kconfig"
383source "fs/9p/Kconfig"
384
385endif # NETWORK_FILESYSTEMS
386
387source "fs/nls/Kconfig"
388source "fs/dlm/Kconfig"
389
390endmenu
Note: See TracBrowser for help on using the repository browser.