xref: /linux/fs/Kconfig (revision 569d0365f571fa6421a5c80bc30d1b2cdab857fe)
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)
416affb9d7SRoss Zwisler	select FS_IOMAP
42ef510424SDan Williams	select DAX
436cd176a5SMatthew Wilcox	help
446cd176a5SMatthew Wilcox	  Direct Access (DAX) can be used on memory-backed block devices.
456cd176a5SMatthew Wilcox	  If the block device supports DAX and the filesystem supports DAX,
466cd176a5SMatthew Wilcox	  then you can avoid using the pagecache to buffer I/Os.  Turning
476cd176a5SMatthew Wilcox	  on this option will compile in support for DAX; you will need to
486cd176a5SMatthew Wilcox	  mount the filesystem using the -o dax option.
496cd176a5SMatthew Wilcox
506cd176a5SMatthew Wilcox	  If you do not have a block device that is capable of using this,
516cd176a5SMatthew Wilcox	  or if unsure, say N.  Saying Y will increase the size of the kernel
526cd176a5SMatthew Wilcox	  by about 5kB.
536cd176a5SMatthew Wilcox
54ee82c9edSDan Williamsconfig FS_DAX_PMD
55ee82c9edSDan Williams	bool
56ee82c9edSDan Williams	default FS_DAX
57ee82c9edSDan Williams	depends on FS_DAX
58c046c321SDan Williams	depends on ZONE_DEVICE
59c046c321SDan Williams	depends on TRANSPARENT_HUGEPAGE
60ee82c9edSDan Williams
61*569d0365SDan Williams# Selected by DAX drivers that do not expect filesystem DAX to support
62*569d0365SDan Williams# get_user_pages() of DAX mappings. I.e. "limited" indicates no support
63*569d0365SDan Williams# for fork() of processes with MAP_SHARED mappings or support for
64*569d0365SDan Williams# direct-I/O to a DAX mapping.
65*569d0365SDan Williamsconfig FS_DAX_LIMITED
66*569d0365SDan Williams	bool
67*569d0365SDan Williams
6869050eeeSTomas Szepeendif # BLOCK
6969050eeeSTomas Szepe
7016ebe911SRandy Dunlap# Posix ACL utility routines
7116ebe911SRandy Dunlap#
7216ebe911SRandy Dunlap# Note: Posix ACLs can be implemented without these helpers.  Never use
7316ebe911SRandy Dunlap# this symbol for ifdefs in core code.
7416ebe911SRandy Dunlap#
7516ebe911SRandy Dunlapconfig FS_POSIX_ACL
7616ebe911SRandy Dunlap	def_bool n
7716ebe911SRandy Dunlap
784199ca77SRandy Dunlapconfig EXPORTFS
7979fead47SJonas Gorski	tristate
804199ca77SRandy Dunlap
8115d66ac2SBenjamin Coddingtonconfig EXPORTFS_BLOCK_OPS
8215d66ac2SBenjamin Coddington	bool "Enable filesystem export operations for block IO"
8315d66ac2SBenjamin Coddington	help
8415d66ac2SBenjamin Coddington	  This option enables the export operations for a filesystem to support
8515d66ac2SBenjamin Coddington	  external block IO.
8615d66ac2SBenjamin Coddington
87bfcd17a6SThomas Petazzoniconfig FILE_LOCKING
886a108a14SDavid Rientjes	bool "Enable POSIX file locking API" if EXPERT
89bfcd17a6SThomas Petazzoni	default y
90bfcd17a6SThomas Petazzoni	help
91bfcd17a6SThomas Petazzoni	  This option enables standard file locking support, required
92bfcd17a6SThomas Petazzoni          for filesystems like NFS and for the flock() system
93bfcd17a6SThomas Petazzoni          call. Disabling this option saves about 11k.
94bfcd17a6SThomas Petazzoni
959e8925b6SJeff Laytonconfig MANDATORY_FILE_LOCKING
969e8925b6SJeff Layton	bool "Enable Mandatory file locking"
979e8925b6SJeff Layton	depends on FILE_LOCKING
989e8925b6SJeff Layton	default y
999e8925b6SJeff Layton	help
1009e8925b6SJeff Layton	  This option enables files appropriately marked files on appropriely
1019e8925b6SJeff Layton	  mounted filesystems to support mandatory locking.
1029e8925b6SJeff Layton
1039e8925b6SJeff Layton	  To the best of my knowledge this is dead code that no one cares about.
1049e8925b6SJeff Layton
1050b81d077SJaegeuk Kimsource "fs/crypto/Kconfig"
1060b81d077SJaegeuk Kim
107272eb014SEric Parissource "fs/notify/Kconfig"
1082d9048e2SAmy Griffis
109884d179dSJan Karasource "fs/quota/Kconfig"
1101da177e4SLinus Torvalds
11190ffd467SAlexey Dobriyansource "fs/autofs4/Kconfig"
1123ef7784eSAlexey Dobriyansource "fs/fuse/Kconfig"
113e9be9d5eSMiklos Szeredisource "fs/overlayfs/Kconfig"
11404578f17SMiklos Szeredi
11506b3db1bSDavid Howellsmenu "Caches"
11606b3db1bSDavid Howells
11706b3db1bSDavid Howellssource "fs/fscache/Kconfig"
1189ae326a6SDavid Howellssource "fs/cachefiles/Kconfig"
11906b3db1bSDavid Howells
12006b3db1bSDavid Howellsendmenu
12106b3db1bSDavid Howells
1229361401eSDavid Howellsif BLOCK
1231da177e4SLinus Torvaldsmenu "CD-ROM/DVD Filesystems"
1241da177e4SLinus Torvalds
125ddfaccd9SAlexey Dobriyansource "fs/isofs/Kconfig"
126ddfaccd9SAlexey Dobriyansource "fs/udf/Kconfig"
1271da177e4SLinus Torvalds
1281da177e4SLinus Torvaldsendmenu
12925fad945SRandy Dunlapendif # BLOCK
1301da177e4SLinus Torvalds
1319361401eSDavid Howellsif BLOCK
1321da177e4SLinus Torvaldsmenu "DOS/FAT/NT Filesystems"
1331da177e4SLinus Torvalds
1341c6ace01SAlexey Dobriyansource "fs/fat/Kconfig"
1359d73ac9eSAlexey Dobriyansource "fs/ntfs/Kconfig"
1361da177e4SLinus Torvalds
1371da177e4SLinus Torvaldsendmenu
13825fad945SRandy Dunlapendif # BLOCK
1391da177e4SLinus Torvalds
1401da177e4SLinus Torvaldsmenu "Pseudo filesystems"
1411da177e4SLinus Torvalds
1426eedf8d3SAlexey Dobriyansource "fs/proc/Kconfig"
143ba341d55STejun Heosource "fs/kernfs/Kconfig"
1445f3a211aSAlexey Dobriyansource "fs/sysfs/Kconfig"
1451da177e4SLinus Torvalds
1461da177e4SLinus Torvaldsconfig TMPFS
147f5fc870dSRobert P. J. Day	bool "Tmpfs virtual memory file system support (former shm fs)"
1483f96b79aSHugh Dickins	depends on SHMEM
1491da177e4SLinus Torvalds	help
1501da177e4SLinus Torvalds	  Tmpfs is a file system which keeps all files in virtual memory.
1511da177e4SLinus Torvalds
1521da177e4SLinus Torvalds	  Everything in tmpfs is temporary in the sense that no files will be
1531da177e4SLinus Torvalds	  created on your hard drive. The files live in memory and swap
1541da177e4SLinus Torvalds	  space. If you unmount a tmpfs instance, everything stored therein is
1551da177e4SLinus Torvalds	  lost.
1561da177e4SLinus Torvalds
1571da177e4SLinus Torvalds	  See <file:Documentation/filesystems/tmpfs.txt> for details.
1581da177e4SLinus Torvalds
1594db70f73SEric Parisconfig TMPFS_POSIX_ACL
1604db70f73SEric Paris	bool "Tmpfs POSIX Access Control Lists"
1614db70f73SEric Paris	depends on TMPFS
1624db70f73SEric Paris	select TMPFS_XATTR
163feda821eSChristoph Hellwig	select FS_POSIX_ACL
1644db70f73SEric Paris	help
165206506ccSRobert P. J. Day	  POSIX Access Control Lists (ACLs) support additional access rights
166206506ccSRobert P. J. Day	  for users and groups beyond the standard owner/group/world scheme,
167206506ccSRobert P. J. Day	  and this option selects support for ACLs specifically for tmpfs
168206506ccSRobert P. J. Day	  filesystems.
169206506ccSRobert P. J. Day
170206506ccSRobert P. J. Day	  If you've selected TMPFS, it's possible that you'll also need
171206506ccSRobert P. J. Day	  this option as there are a number of Linux distros that require
172206506ccSRobert P. J. Day	  POSIX ACL support under /dev for certain features to work properly.
173206506ccSRobert P. J. Day	  For example, some distros need this feature for ALSA-related /dev
174206506ccSRobert P. J. Day	  files for sound to work properly.  In short, if you're not sure,
175206506ccSRobert P. J. Day	  say Y.
1764db70f73SEric Paris
1774db70f73SEric Paris	  To learn more about Access Control Lists, visit the POSIX ACLs for
1784db70f73SEric Paris	  Linux website <http://acl.bestbits.at/>.
1794db70f73SEric Paris
180b09e0fa4SEric Parisconfig TMPFS_XATTR
181b09e0fa4SEric Paris	bool "Tmpfs extended attributes"
182b09e0fa4SEric Paris	depends on TMPFS
183b09e0fa4SEric Paris	default n
184b09e0fa4SEric Paris	help
185b09e0fa4SEric Paris	  Extended attributes are name:value pairs associated with inodes by
186b09e0fa4SEric Paris	  the kernel or by users (see the attr(5) manual page, or visit
187b09e0fa4SEric Paris	  <http://acl.bestbits.at/> for details).
188b09e0fa4SEric Paris
189b09e0fa4SEric Paris	  Currently this enables support for the trusted.* and
190b09e0fa4SEric Paris	  security.* namespaces.
191b09e0fa4SEric Paris
192b09e0fa4SEric Paris	  You need this for POSIX ACL support on tmpfs.
193b09e0fa4SEric Paris
1944db70f73SEric Paris	  If unsure, say N.
19539f0247dSAndreas Gruenbacher
1961da177e4SLinus Torvaldsconfig HUGETLBFS
1971da177e4SLinus Torvalds	bool "HugeTLB file system support"
1985a1eb5c4SBenjamin Herrenschmidt	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
199ffb4a73dSPaul Mundt		   SYS_SUPPORTS_HUGETLBFS || BROKEN
200dda27d1aSArthur Othieno	help
201dda27d1aSArthur Othieno	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
202dda27d1aSArthur Othieno	  ramfs. For architectures that support it, say Y here and read
203dda27d1aSArthur Othieno	  <file:Documentation/vm/hugetlbpage.txt> for details.
204dda27d1aSArthur Othieno
205dda27d1aSArthur Othieno	  If unsure, say N.
2061da177e4SLinus Torvalds
2071da177e4SLinus Torvaldsconfig HUGETLB_PAGE
2081da177e4SLinus Torvalds	def_bool HUGETLBFS
2091da177e4SLinus Torvalds
210461a7184SYisheng Xieconfig ARCH_HAS_GIGANTIC_PAGE
211461a7184SYisheng Xie	bool
212461a7184SYisheng Xie
2134591dabeSAlexey Dobriyansource "fs/configfs/Kconfig"
21462c204ddSLeif Lindholmsource "fs/efivarfs/Kconfig"
2157063fbf2SJoel Becker
2161da177e4SLinus Torvaldsendmenu
2171da177e4SLinus Torvalds
21867ec7d3aSRandy Dunlapmenuconfig MISC_FILESYSTEMS
21967ec7d3aSRandy Dunlap	bool "Miscellaneous filesystems"
22067ec7d3aSRandy Dunlap	default y
22167ec7d3aSRandy Dunlap	---help---
22267ec7d3aSRandy Dunlap	  Say Y here to get to see options for various miscellaneous
22367ec7d3aSRandy Dunlap	  filesystems, such as filesystems that came from other
22467ec7d3aSRandy Dunlap	  operating systems.
22567ec7d3aSRandy Dunlap
22667ec7d3aSRandy Dunlap	  This option alone does not add any kernel code.
22767ec7d3aSRandy Dunlap
22867ec7d3aSRandy Dunlap	  If you say N, all options in this submenu will be skipped and
22967ec7d3aSRandy Dunlap	  disabled; if unsure, say Y here.
23067ec7d3aSRandy Dunlap
23167ec7d3aSRandy Dunlapif MISC_FILESYSTEMS
2321da177e4SLinus Torvalds
23307f01962SMike Marshallsource "fs/orangefs/Kconfig"
234bc2de2aeSAlexey Dobriyansource "fs/adfs/Kconfig"
23510951bf0SAlexey Dobriyansource "fs/affs/Kconfig"
236295c896cSAlexey Dobriyansource "fs/ecryptfs/Kconfig"
237b08bac1fSAlexey Dobriyansource "fs/hfs/Kconfig"
238b08bac1fSAlexey Dobriyansource "fs/hfsplus/Kconfig"
2390b09eb32SAlexey Dobriyansource "fs/befs/Kconfig"
2400ff42384SAlexey Dobriyansource "fs/bfs/Kconfig"
241571f0a0bSAlexey Dobriyansource "fs/efs/Kconfig"
24231db6e9eSAlexey Dobriyansource "fs/jffs2/Kconfig"
2430d7eff87SArtem Bityutskiy# UBIFS File system configuration
2440d7eff87SArtem Bityutskiysource "fs/ubifs/Kconfig"
2452a22783bSAlexey Dobriyansource "fs/cramfs/Kconfig"
24622635ec9SAlexey Dobriyansource "fs/squashfs/Kconfig"
24722135169SAlexey Dobriyansource "fs/freevxfs/Kconfig"
2488b1cd7d3SAlexey Dobriyansource "fs/minix/Kconfig"
249da55e6f9SAlexey Dobriyansource "fs/omfs/Kconfig"
250928ea192SAlexey Dobriyansource "fs/hpfs/Kconfig"
2514c741583SAlexey Dobriyansource "fs/qnx4/Kconfig"
2525d026c72SKai Bankettsource "fs/qnx6/Kconfig"
25341810246SAlexey Dobriyansource "fs/romfs/Kconfig"
254ca01d6ddSTony Lucksource "fs/pstore/Kconfig"
2558af915baSAlexey Dobriyansource "fs/sysv/Kconfig"
256a276a52fSAlexey Dobriyansource "fs/ufs/Kconfig"
2570d8fe329SBoaz Harroshsource "fs/exofs/Kconfig"
2580c4fb877SRyusuke Konishi
25967ec7d3aSRandy Dunlapendif # MISC_FILESYSTEMS
2601da177e4SLinus Torvalds
261831c2dc5SBoaz Harroshsource "fs/exofs/Kconfig.ore"
262831c2dc5SBoaz Harrosh
263ea0985adSJan Engelhardtmenuconfig NETWORK_FILESYSTEMS
264ea0985adSJan Engelhardt	bool "Network File Systems"
265ea0985adSJan Engelhardt	default y
2661da177e4SLinus Torvalds	depends on NET
267ea0985adSJan Engelhardt	---help---
268ea0985adSJan Engelhardt	  Say Y here to get to see options for network filesystems and
269ea0985adSJan Engelhardt	  filesystem-related networking code, such as NFS daemon and
270ea0985adSJan Engelhardt	  RPCSEC security modules.
2716fb1bc10SChuck Lever
272ea0985adSJan Engelhardt	  This option alone does not add any kernel code.
273ea0985adSJan Engelhardt
274ea0985adSJan Engelhardt	  If you say N, all options in this submenu will be skipped and
275ea0985adSJan Engelhardt	  disabled; if unsure, say Y here.
276ea0985adSJan Engelhardt
277ea0985adSJan Engelhardtif NETWORK_FILESYSTEMS
2781da177e4SLinus Torvalds
27997afe47aSAlexey Dobriyansource "fs/nfs/Kconfig"
280e2b329e2SAlexey Dobriyansource "fs/nfsd/Kconfig"
2811da177e4SLinus Torvalds
282f7790029SJeff Laytonconfig GRACE_PERIOD
283f7790029SJeff Layton	tristate
284f7790029SJeff Layton
2851da177e4SLinus Torvaldsconfig LOCKD
2861da177e4SLinus Torvalds	tristate
287dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
288f7790029SJeff Layton	select GRACE_PERIOD
2891da177e4SLinus Torvalds
2901da177e4SLinus Torvaldsconfig LOCKD_V4
2911da177e4SLinus Torvalds	bool
2921da177e4SLinus Torvalds	depends on NFSD_V3 || NFS_V3
293dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
2941da177e4SLinus Torvalds	default y
2951da177e4SLinus Torvalds
296a257cdd0SAndreas Gruenbacherconfig NFS_ACL_SUPPORT
297a257cdd0SAndreas Gruenbacher	tristate
298a257cdd0SAndreas Gruenbacher	select FS_POSIX_ACL
299a257cdd0SAndreas Gruenbacher
300a257cdd0SAndreas Gruenbacherconfig NFS_COMMON
301a257cdd0SAndreas Gruenbacher	bool
302f7790029SJeff Layton	depends on NFSD || NFS_FS || LOCKD
303a257cdd0SAndreas Gruenbacher	default y
304a257cdd0SAndreas Gruenbacher
3059098c24fSAlexey Dobriyansource "net/sunrpc/Kconfig"
3069030aaf9SSage Weilsource "fs/ceph/Kconfig"
307bb26b963SAlexey Dobriyansource "fs/cifs/Kconfig"
3081da177e4SLinus Torvaldssource "fs/ncpfs/Kconfig"
30933a1a6feSAlexey Dobriyansource "fs/coda/Kconfig"
310b2480c7fSAlexey Dobriyansource "fs/afs/Kconfig"
3110fcb4408SAlexey Dobriyansource "fs/9p/Kconfig"
31293fa58cbSEric Van Hensbergen
313ea0985adSJan Engelhardtendif # NETWORK_FILESYSTEMS
3141da177e4SLinus Torvalds
3151da177e4SLinus Torvaldssource "fs/nls/Kconfig"
316e7fd4179SDavid Teiglandsource "fs/dlm/Kconfig"
3171da177e4SLinus Torvalds
3181da177e4SLinus Torvaldsendmenu
319