xref: /linux/fs/Kconfig (revision 15d66ac20927e00ac0e65af6707eff60b92e61b8)
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
136da0b38fSAlexey Dobriyansource "fs/ext2/Kconfig"
146da0b38fSAlexey Dobriyansource "fs/ext4/Kconfig"
156da0b38fSAlexey Dobriyansource "fs/jbd2/Kconfig"
16dab291afSMingming Cao
171da177e4SLinus Torvaldsconfig FS_MBCACHE
1802ea2104SMingming Cao# Meta block cache for Extended Attributes (ext2/ext3/ext4)
191da177e4SLinus Torvalds	tristate
202c512397SAdrian Bunk	default y if EXT2_FS=y && EXT2_FS_XATTR
21939da108STao Ma	default y if EXT4_FS=y
22c290ea01SJan Kara	default m if EXT2_FS_XATTR || EXT4_FS
231da177e4SLinus Torvalds
24b16ecfe2SAlexey Dobriyansource "fs/reiserfs/Kconfig"
25f5c77969SAlexey Dobriyansource "fs/jfs/Kconfig"
261da177e4SLinus Torvalds
2769050eeeSTomas Szepesource "fs/xfs/Kconfig"
2869050eeeSTomas Szepesource "fs/gfs2/Kconfig"
2969050eeeSTomas Szepesource "fs/ocfs2/Kconfig"
3069050eeeSTomas Szepesource "fs/btrfs/Kconfig"
3141f4db0fSRyusuke Konishisource "fs/nilfs2/Kconfig"
32d7196c5aSJaegeuk Kimsource "fs/f2fs/Kconfig"
3369050eeeSTomas Szepe
346cd176a5SMatthew Wilcoxconfig FS_DAX
356cd176a5SMatthew Wilcox	bool "Direct Access (DAX) support"
366cd176a5SMatthew Wilcox	depends on MMU
37d92576f1SMatthew Wilcox	depends on !(ARM || MIPS || SPARC)
386cd176a5SMatthew Wilcox	help
396cd176a5SMatthew Wilcox	  Direct Access (DAX) can be used on memory-backed block devices.
406cd176a5SMatthew Wilcox	  If the block device supports DAX and the filesystem supports DAX,
416cd176a5SMatthew Wilcox	  then you can avoid using the pagecache to buffer I/Os.  Turning
426cd176a5SMatthew Wilcox	  on this option will compile in support for DAX; you will need to
436cd176a5SMatthew Wilcox	  mount the filesystem using the -o dax option.
446cd176a5SMatthew Wilcox
456cd176a5SMatthew Wilcox	  If you do not have a block device that is capable of using this,
466cd176a5SMatthew Wilcox	  or if unsure, say N.  Saying Y will increase the size of the kernel
476cd176a5SMatthew Wilcox	  by about 5kB.
486cd176a5SMatthew Wilcox
49ee82c9edSDan Williamsconfig FS_DAX_PMD
50ee82c9edSDan Williams	bool
51ee82c9edSDan Williams	default FS_DAX
52ee82c9edSDan Williams	depends on FS_DAX
53c046c321SDan Williams	depends on ZONE_DEVICE
54c046c321SDan Williams	depends on TRANSPARENT_HUGEPAGE
55348e967aSJan Kara	depends on BROKEN
56ee82c9edSDan Williams
5769050eeeSTomas Szepeendif # BLOCK
5869050eeeSTomas Szepe
5916ebe911SRandy Dunlap# Posix ACL utility routines
6016ebe911SRandy Dunlap#
6116ebe911SRandy Dunlap# Note: Posix ACLs can be implemented without these helpers.  Never use
6216ebe911SRandy Dunlap# this symbol for ifdefs in core code.
6316ebe911SRandy Dunlap#
6416ebe911SRandy Dunlapconfig FS_POSIX_ACL
6516ebe911SRandy Dunlap	def_bool n
6616ebe911SRandy Dunlap
674199ca77SRandy Dunlapconfig EXPORTFS
6879fead47SJonas Gorski	tristate
694199ca77SRandy Dunlap
70*15d66ac2SBenjamin Coddingtonconfig EXPORTFS_BLOCK_OPS
71*15d66ac2SBenjamin Coddington	bool "Enable filesystem export operations for block IO"
72*15d66ac2SBenjamin Coddington	help
73*15d66ac2SBenjamin Coddington	  This option enables the export operations for a filesystem to support
74*15d66ac2SBenjamin Coddington	  external block IO.
75*15d66ac2SBenjamin Coddington
76bfcd17a6SThomas Petazzoniconfig FILE_LOCKING
776a108a14SDavid Rientjes	bool "Enable POSIX file locking API" if EXPERT
78bfcd17a6SThomas Petazzoni	default y
79bfcd17a6SThomas Petazzoni	help
80bfcd17a6SThomas Petazzoni	  This option enables standard file locking support, required
81bfcd17a6SThomas Petazzoni          for filesystems like NFS and for the flock() system
82bfcd17a6SThomas Petazzoni          call. Disabling this option saves about 11k.
83bfcd17a6SThomas Petazzoni
849e8925b6SJeff Laytonconfig MANDATORY_FILE_LOCKING
859e8925b6SJeff Layton	bool "Enable Mandatory file locking"
869e8925b6SJeff Layton	depends on FILE_LOCKING
879e8925b6SJeff Layton	default y
889e8925b6SJeff Layton	help
899e8925b6SJeff Layton	  This option enables files appropriately marked files on appropriely
909e8925b6SJeff Layton	  mounted filesystems to support mandatory locking.
919e8925b6SJeff Layton
929e8925b6SJeff Layton	  To the best of my knowledge this is dead code that no one cares about.
939e8925b6SJeff Layton
940b81d077SJaegeuk Kimsource "fs/crypto/Kconfig"
950b81d077SJaegeuk Kim
96272eb014SEric Parissource "fs/notify/Kconfig"
972d9048e2SAmy Griffis
98884d179dSJan Karasource "fs/quota/Kconfig"
991da177e4SLinus Torvalds
10090ffd467SAlexey Dobriyansource "fs/autofs4/Kconfig"
1013ef7784eSAlexey Dobriyansource "fs/fuse/Kconfig"
102e9be9d5eSMiklos Szeredisource "fs/overlayfs/Kconfig"
10304578f17SMiklos Szeredi
10406b3db1bSDavid Howellsmenu "Caches"
10506b3db1bSDavid Howells
10606b3db1bSDavid Howellssource "fs/fscache/Kconfig"
1079ae326a6SDavid Howellssource "fs/cachefiles/Kconfig"
10806b3db1bSDavid Howells
10906b3db1bSDavid Howellsendmenu
11006b3db1bSDavid Howells
1119361401eSDavid Howellsif BLOCK
1121da177e4SLinus Torvaldsmenu "CD-ROM/DVD Filesystems"
1131da177e4SLinus Torvalds
114ddfaccd9SAlexey Dobriyansource "fs/isofs/Kconfig"
115ddfaccd9SAlexey Dobriyansource "fs/udf/Kconfig"
1161da177e4SLinus Torvalds
1171da177e4SLinus Torvaldsendmenu
11825fad945SRandy Dunlapendif # BLOCK
1191da177e4SLinus Torvalds
1209361401eSDavid Howellsif BLOCK
1211da177e4SLinus Torvaldsmenu "DOS/FAT/NT Filesystems"
1221da177e4SLinus Torvalds
1231c6ace01SAlexey Dobriyansource "fs/fat/Kconfig"
1249d73ac9eSAlexey Dobriyansource "fs/ntfs/Kconfig"
1251da177e4SLinus Torvalds
1261da177e4SLinus Torvaldsendmenu
12725fad945SRandy Dunlapendif # BLOCK
1281da177e4SLinus Torvalds
1291da177e4SLinus Torvaldsmenu "Pseudo filesystems"
1301da177e4SLinus Torvalds
1316eedf8d3SAlexey Dobriyansource "fs/proc/Kconfig"
132ba341d55STejun Heosource "fs/kernfs/Kconfig"
1335f3a211aSAlexey Dobriyansource "fs/sysfs/Kconfig"
1341da177e4SLinus Torvalds
1351da177e4SLinus Torvaldsconfig TMPFS
136f5fc870dSRobert P. J. Day	bool "Tmpfs virtual memory file system support (former shm fs)"
1373f96b79aSHugh Dickins	depends on SHMEM
1381da177e4SLinus Torvalds	help
1391da177e4SLinus Torvalds	  Tmpfs is a file system which keeps all files in virtual memory.
1401da177e4SLinus Torvalds
1411da177e4SLinus Torvalds	  Everything in tmpfs is temporary in the sense that no files will be
1421da177e4SLinus Torvalds	  created on your hard drive. The files live in memory and swap
1431da177e4SLinus Torvalds	  space. If you unmount a tmpfs instance, everything stored therein is
1441da177e4SLinus Torvalds	  lost.
1451da177e4SLinus Torvalds
1461da177e4SLinus Torvalds	  See <file:Documentation/filesystems/tmpfs.txt> for details.
1471da177e4SLinus Torvalds
1484db70f73SEric Parisconfig TMPFS_POSIX_ACL
1494db70f73SEric Paris	bool "Tmpfs POSIX Access Control Lists"
1504db70f73SEric Paris	depends on TMPFS
1514db70f73SEric Paris	select TMPFS_XATTR
152feda821eSChristoph Hellwig	select FS_POSIX_ACL
1534db70f73SEric Paris	help
154206506ccSRobert P. J. Day	  POSIX Access Control Lists (ACLs) support additional access rights
155206506ccSRobert P. J. Day	  for users and groups beyond the standard owner/group/world scheme,
156206506ccSRobert P. J. Day	  and this option selects support for ACLs specifically for tmpfs
157206506ccSRobert P. J. Day	  filesystems.
158206506ccSRobert P. J. Day
159206506ccSRobert P. J. Day	  If you've selected TMPFS, it's possible that you'll also need
160206506ccSRobert P. J. Day	  this option as there are a number of Linux distros that require
161206506ccSRobert P. J. Day	  POSIX ACL support under /dev for certain features to work properly.
162206506ccSRobert P. J. Day	  For example, some distros need this feature for ALSA-related /dev
163206506ccSRobert P. J. Day	  files for sound to work properly.  In short, if you're not sure,
164206506ccSRobert P. J. Day	  say Y.
1654db70f73SEric Paris
1664db70f73SEric Paris	  To learn more about Access Control Lists, visit the POSIX ACLs for
1674db70f73SEric Paris	  Linux website <http://acl.bestbits.at/>.
1684db70f73SEric Paris
169b09e0fa4SEric Parisconfig TMPFS_XATTR
170b09e0fa4SEric Paris	bool "Tmpfs extended attributes"
171b09e0fa4SEric Paris	depends on TMPFS
172b09e0fa4SEric Paris	default n
173b09e0fa4SEric Paris	help
174b09e0fa4SEric Paris	  Extended attributes are name:value pairs associated with inodes by
175b09e0fa4SEric Paris	  the kernel or by users (see the attr(5) manual page, or visit
176b09e0fa4SEric Paris	  <http://acl.bestbits.at/> for details).
177b09e0fa4SEric Paris
178b09e0fa4SEric Paris	  Currently this enables support for the trusted.* and
179b09e0fa4SEric Paris	  security.* namespaces.
180b09e0fa4SEric Paris
181b09e0fa4SEric Paris	  You need this for POSIX ACL support on tmpfs.
182b09e0fa4SEric Paris
1834db70f73SEric Paris	  If unsure, say N.
18439f0247dSAndreas Gruenbacher
1851da177e4SLinus Torvaldsconfig HUGETLBFS
1861da177e4SLinus Torvalds	bool "HugeTLB file system support"
1875a1eb5c4SBenjamin Herrenschmidt	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
188ffb4a73dSPaul Mundt		   SYS_SUPPORTS_HUGETLBFS || BROKEN
189dda27d1aSArthur Othieno	help
190dda27d1aSArthur Othieno	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
191dda27d1aSArthur Othieno	  ramfs. For architectures that support it, say Y here and read
192dda27d1aSArthur Othieno	  <file:Documentation/vm/hugetlbpage.txt> for details.
193dda27d1aSArthur Othieno
194dda27d1aSArthur Othieno	  If unsure, say N.
1951da177e4SLinus Torvalds
1961da177e4SLinus Torvaldsconfig HUGETLB_PAGE
1971da177e4SLinus Torvalds	def_bool HUGETLBFS
1981da177e4SLinus Torvalds
1994591dabeSAlexey Dobriyansource "fs/configfs/Kconfig"
20062c204ddSLeif Lindholmsource "fs/efivarfs/Kconfig"
2017063fbf2SJoel Becker
2021da177e4SLinus Torvaldsendmenu
2031da177e4SLinus Torvalds
20467ec7d3aSRandy Dunlapmenuconfig MISC_FILESYSTEMS
20567ec7d3aSRandy Dunlap	bool "Miscellaneous filesystems"
20667ec7d3aSRandy Dunlap	default y
20767ec7d3aSRandy Dunlap	---help---
20867ec7d3aSRandy Dunlap	  Say Y here to get to see options for various miscellaneous
20967ec7d3aSRandy Dunlap	  filesystems, such as filesystems that came from other
21067ec7d3aSRandy Dunlap	  operating systems.
21167ec7d3aSRandy Dunlap
21267ec7d3aSRandy Dunlap	  This option alone does not add any kernel code.
21367ec7d3aSRandy Dunlap
21467ec7d3aSRandy Dunlap	  If you say N, all options in this submenu will be skipped and
21567ec7d3aSRandy Dunlap	  disabled; if unsure, say Y here.
21667ec7d3aSRandy Dunlap
21767ec7d3aSRandy Dunlapif MISC_FILESYSTEMS
2181da177e4SLinus Torvalds
21907f01962SMike Marshallsource "fs/orangefs/Kconfig"
220bc2de2aeSAlexey Dobriyansource "fs/adfs/Kconfig"
22110951bf0SAlexey Dobriyansource "fs/affs/Kconfig"
222295c896cSAlexey Dobriyansource "fs/ecryptfs/Kconfig"
223b08bac1fSAlexey Dobriyansource "fs/hfs/Kconfig"
224b08bac1fSAlexey Dobriyansource "fs/hfsplus/Kconfig"
2250b09eb32SAlexey Dobriyansource "fs/befs/Kconfig"
2260ff42384SAlexey Dobriyansource "fs/bfs/Kconfig"
227571f0a0bSAlexey Dobriyansource "fs/efs/Kconfig"
22831db6e9eSAlexey Dobriyansource "fs/jffs2/Kconfig"
2290d7eff87SArtem Bityutskiy# UBIFS File system configuration
2300d7eff87SArtem Bityutskiysource "fs/ubifs/Kconfig"
2315db53f3eSJoern Engelsource "fs/logfs/Kconfig"
2322a22783bSAlexey Dobriyansource "fs/cramfs/Kconfig"
23322635ec9SAlexey Dobriyansource "fs/squashfs/Kconfig"
23422135169SAlexey Dobriyansource "fs/freevxfs/Kconfig"
2358b1cd7d3SAlexey Dobriyansource "fs/minix/Kconfig"
236da55e6f9SAlexey Dobriyansource "fs/omfs/Kconfig"
237928ea192SAlexey Dobriyansource "fs/hpfs/Kconfig"
2384c741583SAlexey Dobriyansource "fs/qnx4/Kconfig"
2395d026c72SKai Bankettsource "fs/qnx6/Kconfig"
24041810246SAlexey Dobriyansource "fs/romfs/Kconfig"
241ca01d6ddSTony Lucksource "fs/pstore/Kconfig"
2428af915baSAlexey Dobriyansource "fs/sysv/Kconfig"
243a276a52fSAlexey Dobriyansource "fs/ufs/Kconfig"
2440d8fe329SBoaz Harroshsource "fs/exofs/Kconfig"
2450c4fb877SRyusuke Konishi
24667ec7d3aSRandy Dunlapendif # MISC_FILESYSTEMS
2471da177e4SLinus Torvalds
248831c2dc5SBoaz Harroshsource "fs/exofs/Kconfig.ore"
249831c2dc5SBoaz Harrosh
250ea0985adSJan Engelhardtmenuconfig NETWORK_FILESYSTEMS
251ea0985adSJan Engelhardt	bool "Network File Systems"
252ea0985adSJan Engelhardt	default y
2531da177e4SLinus Torvalds	depends on NET
254ea0985adSJan Engelhardt	---help---
255ea0985adSJan Engelhardt	  Say Y here to get to see options for network filesystems and
256ea0985adSJan Engelhardt	  filesystem-related networking code, such as NFS daemon and
257ea0985adSJan Engelhardt	  RPCSEC security modules.
2586fb1bc10SChuck Lever
259ea0985adSJan Engelhardt	  This option alone does not add any kernel code.
260ea0985adSJan Engelhardt
261ea0985adSJan Engelhardt	  If you say N, all options in this submenu will be skipped and
262ea0985adSJan Engelhardt	  disabled; if unsure, say Y here.
263ea0985adSJan Engelhardt
264ea0985adSJan Engelhardtif NETWORK_FILESYSTEMS
2651da177e4SLinus Torvalds
26697afe47aSAlexey Dobriyansource "fs/nfs/Kconfig"
267e2b329e2SAlexey Dobriyansource "fs/nfsd/Kconfig"
2681da177e4SLinus Torvalds
269f7790029SJeff Laytonconfig GRACE_PERIOD
270f7790029SJeff Layton	tristate
271f7790029SJeff Layton
2721da177e4SLinus Torvaldsconfig LOCKD
2731da177e4SLinus Torvalds	tristate
274dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
275f7790029SJeff Layton	select GRACE_PERIOD
2761da177e4SLinus Torvalds
2771da177e4SLinus Torvaldsconfig LOCKD_V4
2781da177e4SLinus Torvalds	bool
2791da177e4SLinus Torvalds	depends on NFSD_V3 || NFS_V3
280dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
2811da177e4SLinus Torvalds	default y
2821da177e4SLinus Torvalds
283a257cdd0SAndreas Gruenbacherconfig NFS_ACL_SUPPORT
284a257cdd0SAndreas Gruenbacher	tristate
285a257cdd0SAndreas Gruenbacher	select FS_POSIX_ACL
286a257cdd0SAndreas Gruenbacher
287a257cdd0SAndreas Gruenbacherconfig NFS_COMMON
288a257cdd0SAndreas Gruenbacher	bool
289f7790029SJeff Layton	depends on NFSD || NFS_FS || LOCKD
290a257cdd0SAndreas Gruenbacher	default y
291a257cdd0SAndreas Gruenbacher
2929098c24fSAlexey Dobriyansource "net/sunrpc/Kconfig"
2939030aaf9SSage Weilsource "fs/ceph/Kconfig"
294bb26b963SAlexey Dobriyansource "fs/cifs/Kconfig"
2951da177e4SLinus Torvaldssource "fs/ncpfs/Kconfig"
29633a1a6feSAlexey Dobriyansource "fs/coda/Kconfig"
297b2480c7fSAlexey Dobriyansource "fs/afs/Kconfig"
2980fcb4408SAlexey Dobriyansource "fs/9p/Kconfig"
29993fa58cbSEric Van Hensbergen
300ea0985adSJan Engelhardtendif # NETWORK_FILESYSTEMS
3011da177e4SLinus Torvalds
3021da177e4SLinus Torvaldssource "fs/nls/Kconfig"
303e7fd4179SDavid Teiglandsource "fs/dlm/Kconfig"
3041da177e4SLinus Torvalds
3051da177e4SLinus Torvaldsendmenu
306