xref: /linux/fs/Kconfig (revision 348e967ab07c96a9e7a6a194812254a8df2045c0)
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
55*348e967aSJan 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
70bfcd17a6SThomas Petazzoniconfig FILE_LOCKING
716a108a14SDavid Rientjes	bool "Enable POSIX file locking API" if EXPERT
72bfcd17a6SThomas Petazzoni	default y
73bfcd17a6SThomas Petazzoni	help
74bfcd17a6SThomas Petazzoni	  This option enables standard file locking support, required
75bfcd17a6SThomas Petazzoni          for filesystems like NFS and for the flock() system
76bfcd17a6SThomas Petazzoni          call. Disabling this option saves about 11k.
77bfcd17a6SThomas Petazzoni
789e8925b6SJeff Laytonconfig MANDATORY_FILE_LOCKING
799e8925b6SJeff Layton	bool "Enable Mandatory file locking"
809e8925b6SJeff Layton	depends on FILE_LOCKING
819e8925b6SJeff Layton	default y
829e8925b6SJeff Layton	help
839e8925b6SJeff Layton	  This option enables files appropriately marked files on appropriely
849e8925b6SJeff Layton	  mounted filesystems to support mandatory locking.
859e8925b6SJeff Layton
869e8925b6SJeff Layton	  To the best of my knowledge this is dead code that no one cares about.
879e8925b6SJeff Layton
880b81d077SJaegeuk Kimsource "fs/crypto/Kconfig"
890b81d077SJaegeuk Kim
90272eb014SEric Parissource "fs/notify/Kconfig"
912d9048e2SAmy Griffis
92884d179dSJan Karasource "fs/quota/Kconfig"
931da177e4SLinus Torvalds
9490ffd467SAlexey Dobriyansource "fs/autofs4/Kconfig"
953ef7784eSAlexey Dobriyansource "fs/fuse/Kconfig"
96e9be9d5eSMiklos Szeredisource "fs/overlayfs/Kconfig"
9704578f17SMiklos Szeredi
9806b3db1bSDavid Howellsmenu "Caches"
9906b3db1bSDavid Howells
10006b3db1bSDavid Howellssource "fs/fscache/Kconfig"
1019ae326a6SDavid Howellssource "fs/cachefiles/Kconfig"
10206b3db1bSDavid Howells
10306b3db1bSDavid Howellsendmenu
10406b3db1bSDavid Howells
1059361401eSDavid Howellsif BLOCK
1061da177e4SLinus Torvaldsmenu "CD-ROM/DVD Filesystems"
1071da177e4SLinus Torvalds
108ddfaccd9SAlexey Dobriyansource "fs/isofs/Kconfig"
109ddfaccd9SAlexey Dobriyansource "fs/udf/Kconfig"
1101da177e4SLinus Torvalds
1111da177e4SLinus Torvaldsendmenu
11225fad945SRandy Dunlapendif # BLOCK
1131da177e4SLinus Torvalds
1149361401eSDavid Howellsif BLOCK
1151da177e4SLinus Torvaldsmenu "DOS/FAT/NT Filesystems"
1161da177e4SLinus Torvalds
1171c6ace01SAlexey Dobriyansource "fs/fat/Kconfig"
1189d73ac9eSAlexey Dobriyansource "fs/ntfs/Kconfig"
1191da177e4SLinus Torvalds
1201da177e4SLinus Torvaldsendmenu
12125fad945SRandy Dunlapendif # BLOCK
1221da177e4SLinus Torvalds
1231da177e4SLinus Torvaldsmenu "Pseudo filesystems"
1241da177e4SLinus Torvalds
1256eedf8d3SAlexey Dobriyansource "fs/proc/Kconfig"
126ba341d55STejun Heosource "fs/kernfs/Kconfig"
1275f3a211aSAlexey Dobriyansource "fs/sysfs/Kconfig"
1281da177e4SLinus Torvalds
1291da177e4SLinus Torvaldsconfig TMPFS
130f5fc870dSRobert P. J. Day	bool "Tmpfs virtual memory file system support (former shm fs)"
1313f96b79aSHugh Dickins	depends on SHMEM
1321da177e4SLinus Torvalds	help
1331da177e4SLinus Torvalds	  Tmpfs is a file system which keeps all files in virtual memory.
1341da177e4SLinus Torvalds
1351da177e4SLinus Torvalds	  Everything in tmpfs is temporary in the sense that no files will be
1361da177e4SLinus Torvalds	  created on your hard drive. The files live in memory and swap
1371da177e4SLinus Torvalds	  space. If you unmount a tmpfs instance, everything stored therein is
1381da177e4SLinus Torvalds	  lost.
1391da177e4SLinus Torvalds
1401da177e4SLinus Torvalds	  See <file:Documentation/filesystems/tmpfs.txt> for details.
1411da177e4SLinus Torvalds
1424db70f73SEric Parisconfig TMPFS_POSIX_ACL
1434db70f73SEric Paris	bool "Tmpfs POSIX Access Control Lists"
1444db70f73SEric Paris	depends on TMPFS
1454db70f73SEric Paris	select TMPFS_XATTR
146feda821eSChristoph Hellwig	select FS_POSIX_ACL
1474db70f73SEric Paris	help
148206506ccSRobert P. J. Day	  POSIX Access Control Lists (ACLs) support additional access rights
149206506ccSRobert P. J. Day	  for users and groups beyond the standard owner/group/world scheme,
150206506ccSRobert P. J. Day	  and this option selects support for ACLs specifically for tmpfs
151206506ccSRobert P. J. Day	  filesystems.
152206506ccSRobert P. J. Day
153206506ccSRobert P. J. Day	  If you've selected TMPFS, it's possible that you'll also need
154206506ccSRobert P. J. Day	  this option as there are a number of Linux distros that require
155206506ccSRobert P. J. Day	  POSIX ACL support under /dev for certain features to work properly.
156206506ccSRobert P. J. Day	  For example, some distros need this feature for ALSA-related /dev
157206506ccSRobert P. J. Day	  files for sound to work properly.  In short, if you're not sure,
158206506ccSRobert P. J. Day	  say Y.
1594db70f73SEric Paris
1604db70f73SEric Paris	  To learn more about Access Control Lists, visit the POSIX ACLs for
1614db70f73SEric Paris	  Linux website <http://acl.bestbits.at/>.
1624db70f73SEric Paris
163b09e0fa4SEric Parisconfig TMPFS_XATTR
164b09e0fa4SEric Paris	bool "Tmpfs extended attributes"
165b09e0fa4SEric Paris	depends on TMPFS
166b09e0fa4SEric Paris	default n
167b09e0fa4SEric Paris	help
168b09e0fa4SEric Paris	  Extended attributes are name:value pairs associated with inodes by
169b09e0fa4SEric Paris	  the kernel or by users (see the attr(5) manual page, or visit
170b09e0fa4SEric Paris	  <http://acl.bestbits.at/> for details).
171b09e0fa4SEric Paris
172b09e0fa4SEric Paris	  Currently this enables support for the trusted.* and
173b09e0fa4SEric Paris	  security.* namespaces.
174b09e0fa4SEric Paris
175b09e0fa4SEric Paris	  You need this for POSIX ACL support on tmpfs.
176b09e0fa4SEric Paris
1774db70f73SEric Paris	  If unsure, say N.
17839f0247dSAndreas Gruenbacher
1791da177e4SLinus Torvaldsconfig HUGETLBFS
1801da177e4SLinus Torvalds	bool "HugeTLB file system support"
1815a1eb5c4SBenjamin Herrenschmidt	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
182ffb4a73dSPaul Mundt		   SYS_SUPPORTS_HUGETLBFS || BROKEN
183dda27d1aSArthur Othieno	help
184dda27d1aSArthur Othieno	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
185dda27d1aSArthur Othieno	  ramfs. For architectures that support it, say Y here and read
186dda27d1aSArthur Othieno	  <file:Documentation/vm/hugetlbpage.txt> for details.
187dda27d1aSArthur Othieno
188dda27d1aSArthur Othieno	  If unsure, say N.
1891da177e4SLinus Torvalds
1901da177e4SLinus Torvaldsconfig HUGETLB_PAGE
1911da177e4SLinus Torvalds	def_bool HUGETLBFS
1921da177e4SLinus Torvalds
1934591dabeSAlexey Dobriyansource "fs/configfs/Kconfig"
19462c204ddSLeif Lindholmsource "fs/efivarfs/Kconfig"
1957063fbf2SJoel Becker
1961da177e4SLinus Torvaldsendmenu
1971da177e4SLinus Torvalds
19867ec7d3aSRandy Dunlapmenuconfig MISC_FILESYSTEMS
19967ec7d3aSRandy Dunlap	bool "Miscellaneous filesystems"
20067ec7d3aSRandy Dunlap	default y
20167ec7d3aSRandy Dunlap	---help---
20267ec7d3aSRandy Dunlap	  Say Y here to get to see options for various miscellaneous
20367ec7d3aSRandy Dunlap	  filesystems, such as filesystems that came from other
20467ec7d3aSRandy Dunlap	  operating systems.
20567ec7d3aSRandy Dunlap
20667ec7d3aSRandy Dunlap	  This option alone does not add any kernel code.
20767ec7d3aSRandy Dunlap
20867ec7d3aSRandy Dunlap	  If you say N, all options in this submenu will be skipped and
20967ec7d3aSRandy Dunlap	  disabled; if unsure, say Y here.
21067ec7d3aSRandy Dunlap
21167ec7d3aSRandy Dunlapif MISC_FILESYSTEMS
2121da177e4SLinus Torvalds
21307f01962SMike Marshallsource "fs/orangefs/Kconfig"
214bc2de2aeSAlexey Dobriyansource "fs/adfs/Kconfig"
21510951bf0SAlexey Dobriyansource "fs/affs/Kconfig"
216295c896cSAlexey Dobriyansource "fs/ecryptfs/Kconfig"
217b08bac1fSAlexey Dobriyansource "fs/hfs/Kconfig"
218b08bac1fSAlexey Dobriyansource "fs/hfsplus/Kconfig"
2190b09eb32SAlexey Dobriyansource "fs/befs/Kconfig"
2200ff42384SAlexey Dobriyansource "fs/bfs/Kconfig"
221571f0a0bSAlexey Dobriyansource "fs/efs/Kconfig"
22231db6e9eSAlexey Dobriyansource "fs/jffs2/Kconfig"
2230d7eff87SArtem Bityutskiy# UBIFS File system configuration
2240d7eff87SArtem Bityutskiysource "fs/ubifs/Kconfig"
2255db53f3eSJoern Engelsource "fs/logfs/Kconfig"
2262a22783bSAlexey Dobriyansource "fs/cramfs/Kconfig"
22722635ec9SAlexey Dobriyansource "fs/squashfs/Kconfig"
22822135169SAlexey Dobriyansource "fs/freevxfs/Kconfig"
2298b1cd7d3SAlexey Dobriyansource "fs/minix/Kconfig"
230da55e6f9SAlexey Dobriyansource "fs/omfs/Kconfig"
231928ea192SAlexey Dobriyansource "fs/hpfs/Kconfig"
2324c741583SAlexey Dobriyansource "fs/qnx4/Kconfig"
2335d026c72SKai Bankettsource "fs/qnx6/Kconfig"
23441810246SAlexey Dobriyansource "fs/romfs/Kconfig"
235ca01d6ddSTony Lucksource "fs/pstore/Kconfig"
2368af915baSAlexey Dobriyansource "fs/sysv/Kconfig"
237a276a52fSAlexey Dobriyansource "fs/ufs/Kconfig"
2380d8fe329SBoaz Harroshsource "fs/exofs/Kconfig"
2390c4fb877SRyusuke Konishi
24067ec7d3aSRandy Dunlapendif # MISC_FILESYSTEMS
2411da177e4SLinus Torvalds
242831c2dc5SBoaz Harroshsource "fs/exofs/Kconfig.ore"
243831c2dc5SBoaz Harrosh
244ea0985adSJan Engelhardtmenuconfig NETWORK_FILESYSTEMS
245ea0985adSJan Engelhardt	bool "Network File Systems"
246ea0985adSJan Engelhardt	default y
2471da177e4SLinus Torvalds	depends on NET
248ea0985adSJan Engelhardt	---help---
249ea0985adSJan Engelhardt	  Say Y here to get to see options for network filesystems and
250ea0985adSJan Engelhardt	  filesystem-related networking code, such as NFS daemon and
251ea0985adSJan Engelhardt	  RPCSEC security modules.
2526fb1bc10SChuck Lever
253ea0985adSJan Engelhardt	  This option alone does not add any kernel code.
254ea0985adSJan Engelhardt
255ea0985adSJan Engelhardt	  If you say N, all options in this submenu will be skipped and
256ea0985adSJan Engelhardt	  disabled; if unsure, say Y here.
257ea0985adSJan Engelhardt
258ea0985adSJan Engelhardtif NETWORK_FILESYSTEMS
2591da177e4SLinus Torvalds
26097afe47aSAlexey Dobriyansource "fs/nfs/Kconfig"
261e2b329e2SAlexey Dobriyansource "fs/nfsd/Kconfig"
2621da177e4SLinus Torvalds
263f7790029SJeff Laytonconfig GRACE_PERIOD
264f7790029SJeff Layton	tristate
265f7790029SJeff Layton
2661da177e4SLinus Torvaldsconfig LOCKD
2671da177e4SLinus Torvalds	tristate
268dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
269f7790029SJeff Layton	select GRACE_PERIOD
2701da177e4SLinus Torvalds
2711da177e4SLinus Torvaldsconfig LOCKD_V4
2721da177e4SLinus Torvalds	bool
2731da177e4SLinus Torvalds	depends on NFSD_V3 || NFS_V3
274dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
2751da177e4SLinus Torvalds	default y
2761da177e4SLinus Torvalds
277a257cdd0SAndreas Gruenbacherconfig NFS_ACL_SUPPORT
278a257cdd0SAndreas Gruenbacher	tristate
279a257cdd0SAndreas Gruenbacher	select FS_POSIX_ACL
280a257cdd0SAndreas Gruenbacher
281a257cdd0SAndreas Gruenbacherconfig NFS_COMMON
282a257cdd0SAndreas Gruenbacher	bool
283f7790029SJeff Layton	depends on NFSD || NFS_FS || LOCKD
284a257cdd0SAndreas Gruenbacher	default y
285a257cdd0SAndreas Gruenbacher
2869098c24fSAlexey Dobriyansource "net/sunrpc/Kconfig"
2879030aaf9SSage Weilsource "fs/ceph/Kconfig"
288bb26b963SAlexey Dobriyansource "fs/cifs/Kconfig"
2891da177e4SLinus Torvaldssource "fs/ncpfs/Kconfig"
29033a1a6feSAlexey Dobriyansource "fs/coda/Kconfig"
291b2480c7fSAlexey Dobriyansource "fs/afs/Kconfig"
2920fcb4408SAlexey Dobriyansource "fs/9p/Kconfig"
29393fa58cbSEric Van Hensbergen
294ea0985adSJan Engelhardtendif # NETWORK_FILESYSTEMS
2951da177e4SLinus Torvalds
2961da177e4SLinus Torvaldssource "fs/nls/Kconfig"
297e7fd4179SDavid Teiglandsource "fs/dlm/Kconfig"
2981da177e4SLinus Torvalds
2991da177e4SLinus Torvaldsendmenu
300