xref: /linux/fs/Kconfig (revision ae259a9c8593f98aa60d045df978a5482a67c53f)
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
13*ae259a9cSChristoph Hellwigconfig FS_IOMAP
14*ae259a9cSChristoph Hellwig	bool
15*ae259a9cSChristoph 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)
416cd176a5SMatthew Wilcox	help
426cd176a5SMatthew Wilcox	  Direct Access (DAX) can be used on memory-backed block devices.
436cd176a5SMatthew Wilcox	  If the block device supports DAX and the filesystem supports DAX,
446cd176a5SMatthew Wilcox	  then you can avoid using the pagecache to buffer I/Os.  Turning
456cd176a5SMatthew Wilcox	  on this option will compile in support for DAX; you will need to
466cd176a5SMatthew Wilcox	  mount the filesystem using the -o dax option.
476cd176a5SMatthew Wilcox
486cd176a5SMatthew Wilcox	  If you do not have a block device that is capable of using this,
496cd176a5SMatthew Wilcox	  or if unsure, say N.  Saying Y will increase the size of the kernel
506cd176a5SMatthew Wilcox	  by about 5kB.
516cd176a5SMatthew Wilcox
52ee82c9edSDan Williamsconfig FS_DAX_PMD
53ee82c9edSDan Williams	bool
54ee82c9edSDan Williams	default FS_DAX
55ee82c9edSDan Williams	depends on FS_DAX
56c046c321SDan Williams	depends on ZONE_DEVICE
57c046c321SDan Williams	depends on TRANSPARENT_HUGEPAGE
58348e967aSJan Kara	depends on BROKEN
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
73bfcd17a6SThomas Petazzoniconfig FILE_LOCKING
746a108a14SDavid Rientjes	bool "Enable POSIX file locking API" if EXPERT
75bfcd17a6SThomas Petazzoni	default y
76bfcd17a6SThomas Petazzoni	help
77bfcd17a6SThomas Petazzoni	  This option enables standard file locking support, required
78bfcd17a6SThomas Petazzoni          for filesystems like NFS and for the flock() system
79bfcd17a6SThomas Petazzoni          call. Disabling this option saves about 11k.
80bfcd17a6SThomas Petazzoni
819e8925b6SJeff Laytonconfig MANDATORY_FILE_LOCKING
829e8925b6SJeff Layton	bool "Enable Mandatory file locking"
839e8925b6SJeff Layton	depends on FILE_LOCKING
849e8925b6SJeff Layton	default y
859e8925b6SJeff Layton	help
869e8925b6SJeff Layton	  This option enables files appropriately marked files on appropriely
879e8925b6SJeff Layton	  mounted filesystems to support mandatory locking.
889e8925b6SJeff Layton
899e8925b6SJeff Layton	  To the best of my knowledge this is dead code that no one cares about.
909e8925b6SJeff Layton
910b81d077SJaegeuk Kimsource "fs/crypto/Kconfig"
920b81d077SJaegeuk Kim
93272eb014SEric Parissource "fs/notify/Kconfig"
942d9048e2SAmy Griffis
95884d179dSJan Karasource "fs/quota/Kconfig"
961da177e4SLinus Torvalds
9790ffd467SAlexey Dobriyansource "fs/autofs4/Kconfig"
983ef7784eSAlexey Dobriyansource "fs/fuse/Kconfig"
99e9be9d5eSMiklos Szeredisource "fs/overlayfs/Kconfig"
10004578f17SMiklos Szeredi
10106b3db1bSDavid Howellsmenu "Caches"
10206b3db1bSDavid Howells
10306b3db1bSDavid Howellssource "fs/fscache/Kconfig"
1049ae326a6SDavid Howellssource "fs/cachefiles/Kconfig"
10506b3db1bSDavid Howells
10606b3db1bSDavid Howellsendmenu
10706b3db1bSDavid Howells
1089361401eSDavid Howellsif BLOCK
1091da177e4SLinus Torvaldsmenu "CD-ROM/DVD Filesystems"
1101da177e4SLinus Torvalds
111ddfaccd9SAlexey Dobriyansource "fs/isofs/Kconfig"
112ddfaccd9SAlexey Dobriyansource "fs/udf/Kconfig"
1131da177e4SLinus Torvalds
1141da177e4SLinus Torvaldsendmenu
11525fad945SRandy Dunlapendif # BLOCK
1161da177e4SLinus Torvalds
1179361401eSDavid Howellsif BLOCK
1181da177e4SLinus Torvaldsmenu "DOS/FAT/NT Filesystems"
1191da177e4SLinus Torvalds
1201c6ace01SAlexey Dobriyansource "fs/fat/Kconfig"
1219d73ac9eSAlexey Dobriyansource "fs/ntfs/Kconfig"
1221da177e4SLinus Torvalds
1231da177e4SLinus Torvaldsendmenu
12425fad945SRandy Dunlapendif # BLOCK
1251da177e4SLinus Torvalds
1261da177e4SLinus Torvaldsmenu "Pseudo filesystems"
1271da177e4SLinus Torvalds
1286eedf8d3SAlexey Dobriyansource "fs/proc/Kconfig"
129ba341d55STejun Heosource "fs/kernfs/Kconfig"
1305f3a211aSAlexey Dobriyansource "fs/sysfs/Kconfig"
1311da177e4SLinus Torvalds
1321da177e4SLinus Torvaldsconfig TMPFS
133f5fc870dSRobert P. J. Day	bool "Tmpfs virtual memory file system support (former shm fs)"
1343f96b79aSHugh Dickins	depends on SHMEM
1351da177e4SLinus Torvalds	help
1361da177e4SLinus Torvalds	  Tmpfs is a file system which keeps all files in virtual memory.
1371da177e4SLinus Torvalds
1381da177e4SLinus Torvalds	  Everything in tmpfs is temporary in the sense that no files will be
1391da177e4SLinus Torvalds	  created on your hard drive. The files live in memory and swap
1401da177e4SLinus Torvalds	  space. If you unmount a tmpfs instance, everything stored therein is
1411da177e4SLinus Torvalds	  lost.
1421da177e4SLinus Torvalds
1431da177e4SLinus Torvalds	  See <file:Documentation/filesystems/tmpfs.txt> for details.
1441da177e4SLinus Torvalds
1454db70f73SEric Parisconfig TMPFS_POSIX_ACL
1464db70f73SEric Paris	bool "Tmpfs POSIX Access Control Lists"
1474db70f73SEric Paris	depends on TMPFS
1484db70f73SEric Paris	select TMPFS_XATTR
149feda821eSChristoph Hellwig	select FS_POSIX_ACL
1504db70f73SEric Paris	help
151206506ccSRobert P. J. Day	  POSIX Access Control Lists (ACLs) support additional access rights
152206506ccSRobert P. J. Day	  for users and groups beyond the standard owner/group/world scheme,
153206506ccSRobert P. J. Day	  and this option selects support for ACLs specifically for tmpfs
154206506ccSRobert P. J. Day	  filesystems.
155206506ccSRobert P. J. Day
156206506ccSRobert P. J. Day	  If you've selected TMPFS, it's possible that you'll also need
157206506ccSRobert P. J. Day	  this option as there are a number of Linux distros that require
158206506ccSRobert P. J. Day	  POSIX ACL support under /dev for certain features to work properly.
159206506ccSRobert P. J. Day	  For example, some distros need this feature for ALSA-related /dev
160206506ccSRobert P. J. Day	  files for sound to work properly.  In short, if you're not sure,
161206506ccSRobert P. J. Day	  say Y.
1624db70f73SEric Paris
1634db70f73SEric Paris	  To learn more about Access Control Lists, visit the POSIX ACLs for
1644db70f73SEric Paris	  Linux website <http://acl.bestbits.at/>.
1654db70f73SEric Paris
166b09e0fa4SEric Parisconfig TMPFS_XATTR
167b09e0fa4SEric Paris	bool "Tmpfs extended attributes"
168b09e0fa4SEric Paris	depends on TMPFS
169b09e0fa4SEric Paris	default n
170b09e0fa4SEric Paris	help
171b09e0fa4SEric Paris	  Extended attributes are name:value pairs associated with inodes by
172b09e0fa4SEric Paris	  the kernel or by users (see the attr(5) manual page, or visit
173b09e0fa4SEric Paris	  <http://acl.bestbits.at/> for details).
174b09e0fa4SEric Paris
175b09e0fa4SEric Paris	  Currently this enables support for the trusted.* and
176b09e0fa4SEric Paris	  security.* namespaces.
177b09e0fa4SEric Paris
178b09e0fa4SEric Paris	  You need this for POSIX ACL support on tmpfs.
179b09e0fa4SEric Paris
1804db70f73SEric Paris	  If unsure, say N.
18139f0247dSAndreas Gruenbacher
1821da177e4SLinus Torvaldsconfig HUGETLBFS
1831da177e4SLinus Torvalds	bool "HugeTLB file system support"
1845a1eb5c4SBenjamin Herrenschmidt	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
185ffb4a73dSPaul Mundt		   SYS_SUPPORTS_HUGETLBFS || BROKEN
186dda27d1aSArthur Othieno	help
187dda27d1aSArthur Othieno	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
188dda27d1aSArthur Othieno	  ramfs. For architectures that support it, say Y here and read
189dda27d1aSArthur Othieno	  <file:Documentation/vm/hugetlbpage.txt> for details.
190dda27d1aSArthur Othieno
191dda27d1aSArthur Othieno	  If unsure, say N.
1921da177e4SLinus Torvalds
1931da177e4SLinus Torvaldsconfig HUGETLB_PAGE
1941da177e4SLinus Torvalds	def_bool HUGETLBFS
1951da177e4SLinus Torvalds
1964591dabeSAlexey Dobriyansource "fs/configfs/Kconfig"
19762c204ddSLeif Lindholmsource "fs/efivarfs/Kconfig"
1987063fbf2SJoel Becker
1991da177e4SLinus Torvaldsendmenu
2001da177e4SLinus Torvalds
20167ec7d3aSRandy Dunlapmenuconfig MISC_FILESYSTEMS
20267ec7d3aSRandy Dunlap	bool "Miscellaneous filesystems"
20367ec7d3aSRandy Dunlap	default y
20467ec7d3aSRandy Dunlap	---help---
20567ec7d3aSRandy Dunlap	  Say Y here to get to see options for various miscellaneous
20667ec7d3aSRandy Dunlap	  filesystems, such as filesystems that came from other
20767ec7d3aSRandy Dunlap	  operating systems.
20867ec7d3aSRandy Dunlap
20967ec7d3aSRandy Dunlap	  This option alone does not add any kernel code.
21067ec7d3aSRandy Dunlap
21167ec7d3aSRandy Dunlap	  If you say N, all options in this submenu will be skipped and
21267ec7d3aSRandy Dunlap	  disabled; if unsure, say Y here.
21367ec7d3aSRandy Dunlap
21467ec7d3aSRandy Dunlapif MISC_FILESYSTEMS
2151da177e4SLinus Torvalds
21607f01962SMike Marshallsource "fs/orangefs/Kconfig"
217bc2de2aeSAlexey Dobriyansource "fs/adfs/Kconfig"
21810951bf0SAlexey Dobriyansource "fs/affs/Kconfig"
219295c896cSAlexey Dobriyansource "fs/ecryptfs/Kconfig"
220b08bac1fSAlexey Dobriyansource "fs/hfs/Kconfig"
221b08bac1fSAlexey Dobriyansource "fs/hfsplus/Kconfig"
2220b09eb32SAlexey Dobriyansource "fs/befs/Kconfig"
2230ff42384SAlexey Dobriyansource "fs/bfs/Kconfig"
224571f0a0bSAlexey Dobriyansource "fs/efs/Kconfig"
22531db6e9eSAlexey Dobriyansource "fs/jffs2/Kconfig"
2260d7eff87SArtem Bityutskiy# UBIFS File system configuration
2270d7eff87SArtem Bityutskiysource "fs/ubifs/Kconfig"
2285db53f3eSJoern Engelsource "fs/logfs/Kconfig"
2292a22783bSAlexey Dobriyansource "fs/cramfs/Kconfig"
23022635ec9SAlexey Dobriyansource "fs/squashfs/Kconfig"
23122135169SAlexey Dobriyansource "fs/freevxfs/Kconfig"
2328b1cd7d3SAlexey Dobriyansource "fs/minix/Kconfig"
233da55e6f9SAlexey Dobriyansource "fs/omfs/Kconfig"
234928ea192SAlexey Dobriyansource "fs/hpfs/Kconfig"
2354c741583SAlexey Dobriyansource "fs/qnx4/Kconfig"
2365d026c72SKai Bankettsource "fs/qnx6/Kconfig"
23741810246SAlexey Dobriyansource "fs/romfs/Kconfig"
238ca01d6ddSTony Lucksource "fs/pstore/Kconfig"
2398af915baSAlexey Dobriyansource "fs/sysv/Kconfig"
240a276a52fSAlexey Dobriyansource "fs/ufs/Kconfig"
2410d8fe329SBoaz Harroshsource "fs/exofs/Kconfig"
2420c4fb877SRyusuke Konishi
24367ec7d3aSRandy Dunlapendif # MISC_FILESYSTEMS
2441da177e4SLinus Torvalds
245831c2dc5SBoaz Harroshsource "fs/exofs/Kconfig.ore"
246831c2dc5SBoaz Harrosh
247ea0985adSJan Engelhardtmenuconfig NETWORK_FILESYSTEMS
248ea0985adSJan Engelhardt	bool "Network File Systems"
249ea0985adSJan Engelhardt	default y
2501da177e4SLinus Torvalds	depends on NET
251ea0985adSJan Engelhardt	---help---
252ea0985adSJan Engelhardt	  Say Y here to get to see options for network filesystems and
253ea0985adSJan Engelhardt	  filesystem-related networking code, such as NFS daemon and
254ea0985adSJan Engelhardt	  RPCSEC security modules.
2556fb1bc10SChuck Lever
256ea0985adSJan Engelhardt	  This option alone does not add any kernel code.
257ea0985adSJan Engelhardt
258ea0985adSJan Engelhardt	  If you say N, all options in this submenu will be skipped and
259ea0985adSJan Engelhardt	  disabled; if unsure, say Y here.
260ea0985adSJan Engelhardt
261ea0985adSJan Engelhardtif NETWORK_FILESYSTEMS
2621da177e4SLinus Torvalds
26397afe47aSAlexey Dobriyansource "fs/nfs/Kconfig"
264e2b329e2SAlexey Dobriyansource "fs/nfsd/Kconfig"
2651da177e4SLinus Torvalds
266f7790029SJeff Laytonconfig GRACE_PERIOD
267f7790029SJeff Layton	tristate
268f7790029SJeff Layton
2691da177e4SLinus Torvaldsconfig LOCKD
2701da177e4SLinus Torvalds	tristate
271dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
272f7790029SJeff Layton	select GRACE_PERIOD
2731da177e4SLinus Torvalds
2741da177e4SLinus Torvaldsconfig LOCKD_V4
2751da177e4SLinus Torvalds	bool
2761da177e4SLinus Torvalds	depends on NFSD_V3 || NFS_V3
277dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
2781da177e4SLinus Torvalds	default y
2791da177e4SLinus Torvalds
280a257cdd0SAndreas Gruenbacherconfig NFS_ACL_SUPPORT
281a257cdd0SAndreas Gruenbacher	tristate
282a257cdd0SAndreas Gruenbacher	select FS_POSIX_ACL
283a257cdd0SAndreas Gruenbacher
284a257cdd0SAndreas Gruenbacherconfig NFS_COMMON
285a257cdd0SAndreas Gruenbacher	bool
286f7790029SJeff Layton	depends on NFSD || NFS_FS || LOCKD
287a257cdd0SAndreas Gruenbacher	default y
288a257cdd0SAndreas Gruenbacher
2899098c24fSAlexey Dobriyansource "net/sunrpc/Kconfig"
2909030aaf9SSage Weilsource "fs/ceph/Kconfig"
291bb26b963SAlexey Dobriyansource "fs/cifs/Kconfig"
2921da177e4SLinus Torvaldssource "fs/ncpfs/Kconfig"
29333a1a6feSAlexey Dobriyansource "fs/coda/Kconfig"
294b2480c7fSAlexey Dobriyansource "fs/afs/Kconfig"
2950fcb4408SAlexey Dobriyansource "fs/9p/Kconfig"
29693fa58cbSEric Van Hensbergen
297ea0985adSJan Engelhardtendif # NETWORK_FILESYSTEMS
2981da177e4SLinus Torvalds
2991da177e4SLinus Torvaldssource "fs/nls/Kconfig"
300e7fd4179SDavid Teiglandsource "fs/dlm/Kconfig"
3011da177e4SLinus Torvalds
3021da177e4SLinus Torvaldsendmenu
303