xref: /linux/fs/Kconfig (revision 6affb9d7b137fc93d86c926a5587e77b8bc64255)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# File system configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
51da177e4SLinus Torvaldsmenu "File systems"
61da177e4SLinus Torvalds
7bfcfaa77SLinus Torvalds# Use unaligned word dcache accesses
8bfcfaa77SLinus Torvaldsconfig DCACHE_WORD_ACCESS
9bfcfaa77SLinus Torvalds       bool
10bfcfaa77SLinus Torvalds
119361401eSDavid Howellsif BLOCK
129361401eSDavid Howells
13ae259a9cSChristoph Hellwigconfig FS_IOMAP
14ae259a9cSChristoph Hellwig	bool
15ae259a9cSChristoph Hellwig
166da0b38fSAlexey Dobriyansource "fs/ext2/Kconfig"
176da0b38fSAlexey Dobriyansource "fs/ext4/Kconfig"
186da0b38fSAlexey Dobriyansource "fs/jbd2/Kconfig"
19dab291afSMingming Cao
201da177e4SLinus Torvaldsconfig FS_MBCACHE
2102ea2104SMingming Cao# Meta block cache for Extended Attributes (ext2/ext3/ext4)
221da177e4SLinus Torvalds	tristate
232c512397SAdrian Bunk	default y if EXT2_FS=y && EXT2_FS_XATTR
24939da108STao Ma	default y if EXT4_FS=y
25c290ea01SJan Kara	default m if EXT2_FS_XATTR || EXT4_FS
261da177e4SLinus Torvalds
27b16ecfe2SAlexey Dobriyansource "fs/reiserfs/Kconfig"
28f5c77969SAlexey Dobriyansource "fs/jfs/Kconfig"
291da177e4SLinus Torvalds
3069050eeeSTomas Szepesource "fs/xfs/Kconfig"
3169050eeeSTomas Szepesource "fs/gfs2/Kconfig"
3269050eeeSTomas Szepesource "fs/ocfs2/Kconfig"
3369050eeeSTomas Szepesource "fs/btrfs/Kconfig"
3441f4db0fSRyusuke Konishisource "fs/nilfs2/Kconfig"
35d7196c5aSJaegeuk Kimsource "fs/f2fs/Kconfig"
3669050eeeSTomas Szepe
376cd176a5SMatthew Wilcoxconfig FS_DAX
386cd176a5SMatthew Wilcox	bool "Direct Access (DAX) support"
396cd176a5SMatthew Wilcox	depends on MMU
40d92576f1SMatthew Wilcox	depends on !(ARM || MIPS || SPARC)
41*6affb9d7SRoss Zwisler	select FS_IOMAP
426cd176a5SMatthew Wilcox	help
436cd176a5SMatthew Wilcox	  Direct Access (DAX) can be used on memory-backed block devices.
446cd176a5SMatthew Wilcox	  If the block device supports DAX and the filesystem supports DAX,
456cd176a5SMatthew Wilcox	  then you can avoid using the pagecache to buffer I/Os.  Turning
466cd176a5SMatthew Wilcox	  on this option will compile in support for DAX; you will need to
476cd176a5SMatthew Wilcox	  mount the filesystem using the -o dax option.
486cd176a5SMatthew Wilcox
496cd176a5SMatthew Wilcox	  If you do not have a block device that is capable of using this,
506cd176a5SMatthew Wilcox	  or if unsure, say N.  Saying Y will increase the size of the kernel
516cd176a5SMatthew Wilcox	  by about 5kB.
526cd176a5SMatthew Wilcox
53ee82c9edSDan Williamsconfig FS_DAX_PMD
54ee82c9edSDan Williams	bool
55ee82c9edSDan Williams	default FS_DAX
56ee82c9edSDan Williams	depends on FS_DAX
57c046c321SDan Williams	depends on ZONE_DEVICE
58c046c321SDan Williams	depends on TRANSPARENT_HUGEPAGE
59ee82c9edSDan Williams
6069050eeeSTomas Szepeendif # BLOCK
6169050eeeSTomas Szepe
6216ebe911SRandy Dunlap# Posix ACL utility routines
6316ebe911SRandy Dunlap#
6416ebe911SRandy Dunlap# Note: Posix ACLs can be implemented without these helpers.  Never use
6516ebe911SRandy Dunlap# this symbol for ifdefs in core code.
6616ebe911SRandy Dunlap#
6716ebe911SRandy Dunlapconfig FS_POSIX_ACL
6816ebe911SRandy Dunlap	def_bool n
6916ebe911SRandy Dunlap
704199ca77SRandy Dunlapconfig EXPORTFS
7179fead47SJonas Gorski	tristate
724199ca77SRandy Dunlap
7315d66ac2SBenjamin Coddingtonconfig EXPORTFS_BLOCK_OPS
7415d66ac2SBenjamin Coddington	bool "Enable filesystem export operations for block IO"
7515d66ac2SBenjamin Coddington	help
7615d66ac2SBenjamin Coddington	  This option enables the export operations for a filesystem to support
7715d66ac2SBenjamin Coddington	  external block IO.
7815d66ac2SBenjamin Coddington
79bfcd17a6SThomas Petazzoniconfig FILE_LOCKING
806a108a14SDavid Rientjes	bool "Enable POSIX file locking API" if EXPERT
81bfcd17a6SThomas Petazzoni	default y
827c3f654dSPeter Zijlstra	select PERCPU_RWSEM
83bfcd17a6SThomas Petazzoni	help
84bfcd17a6SThomas Petazzoni	  This option enables standard file locking support, required
85bfcd17a6SThomas Petazzoni          for filesystems like NFS and for the flock() system
86bfcd17a6SThomas Petazzoni          call. Disabling this option saves about 11k.
87bfcd17a6SThomas Petazzoni
889e8925b6SJeff Laytonconfig MANDATORY_FILE_LOCKING
899e8925b6SJeff Layton	bool "Enable Mandatory file locking"
909e8925b6SJeff Layton	depends on FILE_LOCKING
919e8925b6SJeff Layton	default y
929e8925b6SJeff Layton	help
939e8925b6SJeff Layton	  This option enables files appropriately marked files on appropriely
949e8925b6SJeff Layton	  mounted filesystems to support mandatory locking.
959e8925b6SJeff Layton
969e8925b6SJeff Layton	  To the best of my knowledge this is dead code that no one cares about.
979e8925b6SJeff Layton
980b81d077SJaegeuk Kimsource "fs/crypto/Kconfig"
990b81d077SJaegeuk Kim
100272eb014SEric Parissource "fs/notify/Kconfig"
1012d9048e2SAmy Griffis
102884d179dSJan Karasource "fs/quota/Kconfig"
1031da177e4SLinus Torvalds
10490ffd467SAlexey Dobriyansource "fs/autofs4/Kconfig"
1053ef7784eSAlexey Dobriyansource "fs/fuse/Kconfig"
106e9be9d5eSMiklos Szeredisource "fs/overlayfs/Kconfig"
10704578f17SMiklos Szeredi
10806b3db1bSDavid Howellsmenu "Caches"
10906b3db1bSDavid Howells
11006b3db1bSDavid Howellssource "fs/fscache/Kconfig"
1119ae326a6SDavid Howellssource "fs/cachefiles/Kconfig"
11206b3db1bSDavid Howells
11306b3db1bSDavid Howellsendmenu
11406b3db1bSDavid Howells
1159361401eSDavid Howellsif BLOCK
1161da177e4SLinus Torvaldsmenu "CD-ROM/DVD Filesystems"
1171da177e4SLinus Torvalds
118ddfaccd9SAlexey Dobriyansource "fs/isofs/Kconfig"
119ddfaccd9SAlexey Dobriyansource "fs/udf/Kconfig"
1201da177e4SLinus Torvalds
1211da177e4SLinus Torvaldsendmenu
12225fad945SRandy Dunlapendif # BLOCK
1231da177e4SLinus Torvalds
1249361401eSDavid Howellsif BLOCK
1251da177e4SLinus Torvaldsmenu "DOS/FAT/NT Filesystems"
1261da177e4SLinus Torvalds
1271c6ace01SAlexey Dobriyansource "fs/fat/Kconfig"
1289d73ac9eSAlexey Dobriyansource "fs/ntfs/Kconfig"
1291da177e4SLinus Torvalds
1301da177e4SLinus Torvaldsendmenu
13125fad945SRandy Dunlapendif # BLOCK
1321da177e4SLinus Torvalds
1331da177e4SLinus Torvaldsmenu "Pseudo filesystems"
1341da177e4SLinus Torvalds
1356eedf8d3SAlexey Dobriyansource "fs/proc/Kconfig"
136ba341d55STejun Heosource "fs/kernfs/Kconfig"
1375f3a211aSAlexey Dobriyansource "fs/sysfs/Kconfig"
1381da177e4SLinus Torvalds
1391da177e4SLinus Torvaldsconfig TMPFS
140f5fc870dSRobert P. J. Day	bool "Tmpfs virtual memory file system support (former shm fs)"
1413f96b79aSHugh Dickins	depends on SHMEM
1421da177e4SLinus Torvalds	help
1431da177e4SLinus Torvalds	  Tmpfs is a file system which keeps all files in virtual memory.
1441da177e4SLinus Torvalds
1451da177e4SLinus Torvalds	  Everything in tmpfs is temporary in the sense that no files will be
1461da177e4SLinus Torvalds	  created on your hard drive. The files live in memory and swap
1471da177e4SLinus Torvalds	  space. If you unmount a tmpfs instance, everything stored therein is
1481da177e4SLinus Torvalds	  lost.
1491da177e4SLinus Torvalds
1501da177e4SLinus Torvalds	  See <file:Documentation/filesystems/tmpfs.txt> for details.
1511da177e4SLinus Torvalds
1524db70f73SEric Parisconfig TMPFS_POSIX_ACL
1534db70f73SEric Paris	bool "Tmpfs POSIX Access Control Lists"
1544db70f73SEric Paris	depends on TMPFS
1554db70f73SEric Paris	select TMPFS_XATTR
156feda821eSChristoph Hellwig	select FS_POSIX_ACL
1574db70f73SEric Paris	help
158206506ccSRobert P. J. Day	  POSIX Access Control Lists (ACLs) support additional access rights
159206506ccSRobert P. J. Day	  for users and groups beyond the standard owner/group/world scheme,
160206506ccSRobert P. J. Day	  and this option selects support for ACLs specifically for tmpfs
161206506ccSRobert P. J. Day	  filesystems.
162206506ccSRobert P. J. Day
163206506ccSRobert P. J. Day	  If you've selected TMPFS, it's possible that you'll also need
164206506ccSRobert P. J. Day	  this option as there are a number of Linux distros that require
165206506ccSRobert P. J. Day	  POSIX ACL support under /dev for certain features to work properly.
166206506ccSRobert P. J. Day	  For example, some distros need this feature for ALSA-related /dev
167206506ccSRobert P. J. Day	  files for sound to work properly.  In short, if you're not sure,
168206506ccSRobert P. J. Day	  say Y.
1694db70f73SEric Paris
1704db70f73SEric Paris	  To learn more about Access Control Lists, visit the POSIX ACLs for
1714db70f73SEric Paris	  Linux website <http://acl.bestbits.at/>.
1724db70f73SEric Paris
173b09e0fa4SEric Parisconfig TMPFS_XATTR
174b09e0fa4SEric Paris	bool "Tmpfs extended attributes"
175b09e0fa4SEric Paris	depends on TMPFS
176b09e0fa4SEric Paris	default n
177b09e0fa4SEric Paris	help
178b09e0fa4SEric Paris	  Extended attributes are name:value pairs associated with inodes by
179b09e0fa4SEric Paris	  the kernel or by users (see the attr(5) manual page, or visit
180b09e0fa4SEric Paris	  <http://acl.bestbits.at/> for details).
181b09e0fa4SEric Paris
182b09e0fa4SEric Paris	  Currently this enables support for the trusted.* and
183b09e0fa4SEric Paris	  security.* namespaces.
184b09e0fa4SEric Paris
185b09e0fa4SEric Paris	  You need this for POSIX ACL support on tmpfs.
186b09e0fa4SEric Paris
1874db70f73SEric Paris	  If unsure, say N.
18839f0247dSAndreas Gruenbacher
1891da177e4SLinus Torvaldsconfig HUGETLBFS
1901da177e4SLinus Torvalds	bool "HugeTLB file system support"
1915a1eb5c4SBenjamin Herrenschmidt	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
192ffb4a73dSPaul Mundt		   SYS_SUPPORTS_HUGETLBFS || BROKEN
193dda27d1aSArthur Othieno	help
194dda27d1aSArthur Othieno	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
195dda27d1aSArthur Othieno	  ramfs. For architectures that support it, say Y here and read
196dda27d1aSArthur Othieno	  <file:Documentation/vm/hugetlbpage.txt> for details.
197dda27d1aSArthur Othieno
198dda27d1aSArthur Othieno	  If unsure, say N.
1991da177e4SLinus Torvalds
2001da177e4SLinus Torvaldsconfig HUGETLB_PAGE
2011da177e4SLinus Torvalds	def_bool HUGETLBFS
2021da177e4SLinus Torvalds
203461a7184SYisheng Xieconfig ARCH_HAS_GIGANTIC_PAGE
204461a7184SYisheng Xie	bool
205461a7184SYisheng Xie
2064591dabeSAlexey Dobriyansource "fs/configfs/Kconfig"
20762c204ddSLeif Lindholmsource "fs/efivarfs/Kconfig"
2087063fbf2SJoel Becker
2091da177e4SLinus Torvaldsendmenu
2101da177e4SLinus Torvalds
21167ec7d3aSRandy Dunlapmenuconfig MISC_FILESYSTEMS
21267ec7d3aSRandy Dunlap	bool "Miscellaneous filesystems"
21367ec7d3aSRandy Dunlap	default y
21467ec7d3aSRandy Dunlap	---help---
21567ec7d3aSRandy Dunlap	  Say Y here to get to see options for various miscellaneous
21667ec7d3aSRandy Dunlap	  filesystems, such as filesystems that came from other
21767ec7d3aSRandy Dunlap	  operating systems.
21867ec7d3aSRandy Dunlap
21967ec7d3aSRandy Dunlap	  This option alone does not add any kernel code.
22067ec7d3aSRandy Dunlap
22167ec7d3aSRandy Dunlap	  If you say N, all options in this submenu will be skipped and
22267ec7d3aSRandy Dunlap	  disabled; if unsure, say Y here.
22367ec7d3aSRandy Dunlap
22467ec7d3aSRandy Dunlapif MISC_FILESYSTEMS
2251da177e4SLinus Torvalds
22607f01962SMike Marshallsource "fs/orangefs/Kconfig"
227bc2de2aeSAlexey Dobriyansource "fs/adfs/Kconfig"
22810951bf0SAlexey Dobriyansource "fs/affs/Kconfig"
229295c896cSAlexey Dobriyansource "fs/ecryptfs/Kconfig"
230b08bac1fSAlexey Dobriyansource "fs/hfs/Kconfig"
231b08bac1fSAlexey Dobriyansource "fs/hfsplus/Kconfig"
2320b09eb32SAlexey Dobriyansource "fs/befs/Kconfig"
2330ff42384SAlexey Dobriyansource "fs/bfs/Kconfig"
234571f0a0bSAlexey Dobriyansource "fs/efs/Kconfig"
23531db6e9eSAlexey Dobriyansource "fs/jffs2/Kconfig"
2360d7eff87SArtem Bityutskiy# UBIFS File system configuration
2370d7eff87SArtem Bityutskiysource "fs/ubifs/Kconfig"
2382a22783bSAlexey Dobriyansource "fs/cramfs/Kconfig"
23922635ec9SAlexey Dobriyansource "fs/squashfs/Kconfig"
24022135169SAlexey Dobriyansource "fs/freevxfs/Kconfig"
2418b1cd7d3SAlexey Dobriyansource "fs/minix/Kconfig"
242da55e6f9SAlexey Dobriyansource "fs/omfs/Kconfig"
243928ea192SAlexey Dobriyansource "fs/hpfs/Kconfig"
2444c741583SAlexey Dobriyansource "fs/qnx4/Kconfig"
2455d026c72SKai Bankettsource "fs/qnx6/Kconfig"
24641810246SAlexey Dobriyansource "fs/romfs/Kconfig"
247ca01d6ddSTony Lucksource "fs/pstore/Kconfig"
2488af915baSAlexey Dobriyansource "fs/sysv/Kconfig"
249a276a52fSAlexey Dobriyansource "fs/ufs/Kconfig"
2500d8fe329SBoaz Harroshsource "fs/exofs/Kconfig"
2510c4fb877SRyusuke Konishi
25267ec7d3aSRandy Dunlapendif # MISC_FILESYSTEMS
2531da177e4SLinus Torvalds
254831c2dc5SBoaz Harroshsource "fs/exofs/Kconfig.ore"
255831c2dc5SBoaz Harrosh
256ea0985adSJan Engelhardtmenuconfig NETWORK_FILESYSTEMS
257ea0985adSJan Engelhardt	bool "Network File Systems"
258ea0985adSJan Engelhardt	default y
2591da177e4SLinus Torvalds	depends on NET
260ea0985adSJan Engelhardt	---help---
261ea0985adSJan Engelhardt	  Say Y here to get to see options for network filesystems and
262ea0985adSJan Engelhardt	  filesystem-related networking code, such as NFS daemon and
263ea0985adSJan Engelhardt	  RPCSEC security modules.
2646fb1bc10SChuck Lever
265ea0985adSJan Engelhardt	  This option alone does not add any kernel code.
266ea0985adSJan Engelhardt
267ea0985adSJan Engelhardt	  If you say N, all options in this submenu will be skipped and
268ea0985adSJan Engelhardt	  disabled; if unsure, say Y here.
269ea0985adSJan Engelhardt
270ea0985adSJan Engelhardtif NETWORK_FILESYSTEMS
2711da177e4SLinus Torvalds
27297afe47aSAlexey Dobriyansource "fs/nfs/Kconfig"
273e2b329e2SAlexey Dobriyansource "fs/nfsd/Kconfig"
2741da177e4SLinus Torvalds
275f7790029SJeff Laytonconfig GRACE_PERIOD
276f7790029SJeff Layton	tristate
277f7790029SJeff Layton
2781da177e4SLinus Torvaldsconfig LOCKD
2791da177e4SLinus Torvalds	tristate
280dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
281f7790029SJeff Layton	select GRACE_PERIOD
2821da177e4SLinus Torvalds
2831da177e4SLinus Torvaldsconfig LOCKD_V4
2841da177e4SLinus Torvalds	bool
2851da177e4SLinus Torvalds	depends on NFSD_V3 || NFS_V3
286dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
2871da177e4SLinus Torvalds	default y
2881da177e4SLinus Torvalds
289a257cdd0SAndreas Gruenbacherconfig NFS_ACL_SUPPORT
290a257cdd0SAndreas Gruenbacher	tristate
291a257cdd0SAndreas Gruenbacher	select FS_POSIX_ACL
292a257cdd0SAndreas Gruenbacher
293a257cdd0SAndreas Gruenbacherconfig NFS_COMMON
294a257cdd0SAndreas Gruenbacher	bool
295f7790029SJeff Layton	depends on NFSD || NFS_FS || LOCKD
296a257cdd0SAndreas Gruenbacher	default y
297a257cdd0SAndreas Gruenbacher
2989098c24fSAlexey Dobriyansource "net/sunrpc/Kconfig"
2999030aaf9SSage Weilsource "fs/ceph/Kconfig"
300bb26b963SAlexey Dobriyansource "fs/cifs/Kconfig"
3011da177e4SLinus Torvaldssource "fs/ncpfs/Kconfig"
30233a1a6feSAlexey Dobriyansource "fs/coda/Kconfig"
303b2480c7fSAlexey Dobriyansource "fs/afs/Kconfig"
3040fcb4408SAlexey Dobriyansource "fs/9p/Kconfig"
30593fa58cbSEric Van Hensbergen
306ea0985adSJan Engelhardtendif # NETWORK_FILESYSTEMS
3071da177e4SLinus Torvalds
3081da177e4SLinus Torvaldssource "fs/nls/Kconfig"
309e7fd4179SDavid Teiglandsource "fs/dlm/Kconfig"
3101da177e4SLinus Torvalds
3111da177e4SLinus Torvaldsendmenu
312