xref: /linux/fs/Kconfig (revision 07f01962e3d37bd2c5bbcdf87f29c9fe78feb6e0)
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
4969050eeeSTomas Szepeendif # BLOCK
5069050eeeSTomas Szepe
5116ebe911SRandy Dunlap# Posix ACL utility routines
5216ebe911SRandy Dunlap#
5316ebe911SRandy Dunlap# Note: Posix ACLs can be implemented without these helpers.  Never use
5416ebe911SRandy Dunlap# this symbol for ifdefs in core code.
5516ebe911SRandy Dunlap#
5616ebe911SRandy Dunlapconfig FS_POSIX_ACL
5716ebe911SRandy Dunlap	def_bool n
5816ebe911SRandy Dunlap
594199ca77SRandy Dunlapconfig EXPORTFS
6079fead47SJonas Gorski	tristate
614199ca77SRandy Dunlap
62bfcd17a6SThomas Petazzoniconfig FILE_LOCKING
636a108a14SDavid Rientjes	bool "Enable POSIX file locking API" if EXPERT
64bfcd17a6SThomas Petazzoni	default y
65bfcd17a6SThomas Petazzoni	help
66bfcd17a6SThomas Petazzoni	  This option enables standard file locking support, required
67bfcd17a6SThomas Petazzoni          for filesystems like NFS and for the flock() system
68bfcd17a6SThomas Petazzoni          call. Disabling this option saves about 11k.
69bfcd17a6SThomas Petazzoni
70272eb014SEric Parissource "fs/notify/Kconfig"
712d9048e2SAmy Griffis
72884d179dSJan Karasource "fs/quota/Kconfig"
731da177e4SLinus Torvalds
7490ffd467SAlexey Dobriyansource "fs/autofs4/Kconfig"
753ef7784eSAlexey Dobriyansource "fs/fuse/Kconfig"
76e9be9d5eSMiklos Szeredisource "fs/overlayfs/Kconfig"
7704578f17SMiklos Szeredi
7806b3db1bSDavid Howellsmenu "Caches"
7906b3db1bSDavid Howells
8006b3db1bSDavid Howellssource "fs/fscache/Kconfig"
819ae326a6SDavid Howellssource "fs/cachefiles/Kconfig"
8206b3db1bSDavid Howells
8306b3db1bSDavid Howellsendmenu
8406b3db1bSDavid Howells
859361401eSDavid Howellsif BLOCK
861da177e4SLinus Torvaldsmenu "CD-ROM/DVD Filesystems"
871da177e4SLinus Torvalds
88ddfaccd9SAlexey Dobriyansource "fs/isofs/Kconfig"
89ddfaccd9SAlexey Dobriyansource "fs/udf/Kconfig"
901da177e4SLinus Torvalds
911da177e4SLinus Torvaldsendmenu
9225fad945SRandy Dunlapendif # BLOCK
931da177e4SLinus Torvalds
949361401eSDavid Howellsif BLOCK
951da177e4SLinus Torvaldsmenu "DOS/FAT/NT Filesystems"
961da177e4SLinus Torvalds
971c6ace01SAlexey Dobriyansource "fs/fat/Kconfig"
989d73ac9eSAlexey Dobriyansource "fs/ntfs/Kconfig"
991da177e4SLinus Torvalds
1001da177e4SLinus Torvaldsendmenu
10125fad945SRandy Dunlapendif # BLOCK
1021da177e4SLinus Torvalds
1031da177e4SLinus Torvaldsmenu "Pseudo filesystems"
1041da177e4SLinus Torvalds
1056eedf8d3SAlexey Dobriyansource "fs/proc/Kconfig"
106ba341d55STejun Heosource "fs/kernfs/Kconfig"
1075f3a211aSAlexey Dobriyansource "fs/sysfs/Kconfig"
1081da177e4SLinus Torvalds
1091da177e4SLinus Torvaldsconfig TMPFS
110f5fc870dSRobert P. J. Day	bool "Tmpfs virtual memory file system support (former shm fs)"
1113f96b79aSHugh Dickins	depends on SHMEM
1121da177e4SLinus Torvalds	help
1131da177e4SLinus Torvalds	  Tmpfs is a file system which keeps all files in virtual memory.
1141da177e4SLinus Torvalds
1151da177e4SLinus Torvalds	  Everything in tmpfs is temporary in the sense that no files will be
1161da177e4SLinus Torvalds	  created on your hard drive. The files live in memory and swap
1171da177e4SLinus Torvalds	  space. If you unmount a tmpfs instance, everything stored therein is
1181da177e4SLinus Torvalds	  lost.
1191da177e4SLinus Torvalds
1201da177e4SLinus Torvalds	  See <file:Documentation/filesystems/tmpfs.txt> for details.
1211da177e4SLinus Torvalds
1224db70f73SEric Parisconfig TMPFS_POSIX_ACL
1234db70f73SEric Paris	bool "Tmpfs POSIX Access Control Lists"
1244db70f73SEric Paris	depends on TMPFS
1254db70f73SEric Paris	select TMPFS_XATTR
126feda821eSChristoph Hellwig	select FS_POSIX_ACL
1274db70f73SEric Paris	help
128206506ccSRobert P. J. Day	  POSIX Access Control Lists (ACLs) support additional access rights
129206506ccSRobert P. J. Day	  for users and groups beyond the standard owner/group/world scheme,
130206506ccSRobert P. J. Day	  and this option selects support for ACLs specifically for tmpfs
131206506ccSRobert P. J. Day	  filesystems.
132206506ccSRobert P. J. Day
133206506ccSRobert P. J. Day	  If you've selected TMPFS, it's possible that you'll also need
134206506ccSRobert P. J. Day	  this option as there are a number of Linux distros that require
135206506ccSRobert P. J. Day	  POSIX ACL support under /dev for certain features to work properly.
136206506ccSRobert P. J. Day	  For example, some distros need this feature for ALSA-related /dev
137206506ccSRobert P. J. Day	  files for sound to work properly.  In short, if you're not sure,
138206506ccSRobert P. J. Day	  say Y.
1394db70f73SEric Paris
1404db70f73SEric Paris	  To learn more about Access Control Lists, visit the POSIX ACLs for
1414db70f73SEric Paris	  Linux website <http://acl.bestbits.at/>.
1424db70f73SEric Paris
143b09e0fa4SEric Parisconfig TMPFS_XATTR
144b09e0fa4SEric Paris	bool "Tmpfs extended attributes"
145b09e0fa4SEric Paris	depends on TMPFS
146b09e0fa4SEric Paris	default n
147b09e0fa4SEric Paris	help
148b09e0fa4SEric Paris	  Extended attributes are name:value pairs associated with inodes by
149b09e0fa4SEric Paris	  the kernel or by users (see the attr(5) manual page, or visit
150b09e0fa4SEric Paris	  <http://acl.bestbits.at/> for details).
151b09e0fa4SEric Paris
152b09e0fa4SEric Paris	  Currently this enables support for the trusted.* and
153b09e0fa4SEric Paris	  security.* namespaces.
154b09e0fa4SEric Paris
155b09e0fa4SEric Paris	  You need this for POSIX ACL support on tmpfs.
156b09e0fa4SEric Paris
1574db70f73SEric Paris	  If unsure, say N.
15839f0247dSAndreas Gruenbacher
1591da177e4SLinus Torvaldsconfig HUGETLBFS
1601da177e4SLinus Torvalds	bool "HugeTLB file system support"
1615a1eb5c4SBenjamin Herrenschmidt	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
162ffb4a73dSPaul Mundt		   SYS_SUPPORTS_HUGETLBFS || BROKEN
163dda27d1aSArthur Othieno	help
164dda27d1aSArthur Othieno	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
165dda27d1aSArthur Othieno	  ramfs. For architectures that support it, say Y here and read
166dda27d1aSArthur Othieno	  <file:Documentation/vm/hugetlbpage.txt> for details.
167dda27d1aSArthur Othieno
168dda27d1aSArthur Othieno	  If unsure, say N.
1691da177e4SLinus Torvalds
1701da177e4SLinus Torvaldsconfig HUGETLB_PAGE
1711da177e4SLinus Torvalds	def_bool HUGETLBFS
1721da177e4SLinus Torvalds
1734591dabeSAlexey Dobriyansource "fs/configfs/Kconfig"
17462c204ddSLeif Lindholmsource "fs/efivarfs/Kconfig"
1757063fbf2SJoel Becker
1761da177e4SLinus Torvaldsendmenu
1771da177e4SLinus Torvalds
17867ec7d3aSRandy Dunlapmenuconfig MISC_FILESYSTEMS
17967ec7d3aSRandy Dunlap	bool "Miscellaneous filesystems"
18067ec7d3aSRandy Dunlap	default y
18167ec7d3aSRandy Dunlap	---help---
18267ec7d3aSRandy Dunlap	  Say Y here to get to see options for various miscellaneous
18367ec7d3aSRandy Dunlap	  filesystems, such as filesystems that came from other
18467ec7d3aSRandy Dunlap	  operating systems.
18567ec7d3aSRandy Dunlap
18667ec7d3aSRandy Dunlap	  This option alone does not add any kernel code.
18767ec7d3aSRandy Dunlap
18867ec7d3aSRandy Dunlap	  If you say N, all options in this submenu will be skipped and
18967ec7d3aSRandy Dunlap	  disabled; if unsure, say Y here.
19067ec7d3aSRandy Dunlap
19167ec7d3aSRandy Dunlapif MISC_FILESYSTEMS
1921da177e4SLinus Torvalds
193*07f01962SMike Marshallsource "fs/orangefs/Kconfig"
194bc2de2aeSAlexey Dobriyansource "fs/adfs/Kconfig"
19510951bf0SAlexey Dobriyansource "fs/affs/Kconfig"
196295c896cSAlexey Dobriyansource "fs/ecryptfs/Kconfig"
197b08bac1fSAlexey Dobriyansource "fs/hfs/Kconfig"
198b08bac1fSAlexey Dobriyansource "fs/hfsplus/Kconfig"
1990b09eb32SAlexey Dobriyansource "fs/befs/Kconfig"
2000ff42384SAlexey Dobriyansource "fs/bfs/Kconfig"
201571f0a0bSAlexey Dobriyansource "fs/efs/Kconfig"
20231db6e9eSAlexey Dobriyansource "fs/jffs2/Kconfig"
2030d7eff87SArtem Bityutskiy# UBIFS File system configuration
2040d7eff87SArtem Bityutskiysource "fs/ubifs/Kconfig"
2055db53f3eSJoern Engelsource "fs/logfs/Kconfig"
2062a22783bSAlexey Dobriyansource "fs/cramfs/Kconfig"
20722635ec9SAlexey Dobriyansource "fs/squashfs/Kconfig"
20822135169SAlexey Dobriyansource "fs/freevxfs/Kconfig"
2098b1cd7d3SAlexey Dobriyansource "fs/minix/Kconfig"
210da55e6f9SAlexey Dobriyansource "fs/omfs/Kconfig"
211928ea192SAlexey Dobriyansource "fs/hpfs/Kconfig"
2124c741583SAlexey Dobriyansource "fs/qnx4/Kconfig"
2135d026c72SKai Bankettsource "fs/qnx6/Kconfig"
21441810246SAlexey Dobriyansource "fs/romfs/Kconfig"
215ca01d6ddSTony Lucksource "fs/pstore/Kconfig"
2168af915baSAlexey Dobriyansource "fs/sysv/Kconfig"
217a276a52fSAlexey Dobriyansource "fs/ufs/Kconfig"
2180d8fe329SBoaz Harroshsource "fs/exofs/Kconfig"
2190c4fb877SRyusuke Konishi
22067ec7d3aSRandy Dunlapendif # MISC_FILESYSTEMS
2211da177e4SLinus Torvalds
222831c2dc5SBoaz Harroshsource "fs/exofs/Kconfig.ore"
223831c2dc5SBoaz Harrosh
224ea0985adSJan Engelhardtmenuconfig NETWORK_FILESYSTEMS
225ea0985adSJan Engelhardt	bool "Network File Systems"
226ea0985adSJan Engelhardt	default y
2271da177e4SLinus Torvalds	depends on NET
228ea0985adSJan Engelhardt	---help---
229ea0985adSJan Engelhardt	  Say Y here to get to see options for network filesystems and
230ea0985adSJan Engelhardt	  filesystem-related networking code, such as NFS daemon and
231ea0985adSJan Engelhardt	  RPCSEC security modules.
2326fb1bc10SChuck Lever
233ea0985adSJan Engelhardt	  This option alone does not add any kernel code.
234ea0985adSJan Engelhardt
235ea0985adSJan Engelhardt	  If you say N, all options in this submenu will be skipped and
236ea0985adSJan Engelhardt	  disabled; if unsure, say Y here.
237ea0985adSJan Engelhardt
238ea0985adSJan Engelhardtif NETWORK_FILESYSTEMS
2391da177e4SLinus Torvalds
24097afe47aSAlexey Dobriyansource "fs/nfs/Kconfig"
241e2b329e2SAlexey Dobriyansource "fs/nfsd/Kconfig"
2421da177e4SLinus Torvalds
243f7790029SJeff Laytonconfig GRACE_PERIOD
244f7790029SJeff Layton	tristate
245f7790029SJeff Layton
2461da177e4SLinus Torvaldsconfig LOCKD
2471da177e4SLinus Torvalds	tristate
248dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
249f7790029SJeff Layton	select GRACE_PERIOD
2501da177e4SLinus Torvalds
2511da177e4SLinus Torvaldsconfig LOCKD_V4
2521da177e4SLinus Torvalds	bool
2531da177e4SLinus Torvalds	depends on NFSD_V3 || NFS_V3
254dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
2551da177e4SLinus Torvalds	default y
2561da177e4SLinus Torvalds
257a257cdd0SAndreas Gruenbacherconfig NFS_ACL_SUPPORT
258a257cdd0SAndreas Gruenbacher	tristate
259a257cdd0SAndreas Gruenbacher	select FS_POSIX_ACL
260a257cdd0SAndreas Gruenbacher
261a257cdd0SAndreas Gruenbacherconfig NFS_COMMON
262a257cdd0SAndreas Gruenbacher	bool
263f7790029SJeff Layton	depends on NFSD || NFS_FS || LOCKD
264a257cdd0SAndreas Gruenbacher	default y
265a257cdd0SAndreas Gruenbacher
2669098c24fSAlexey Dobriyansource "net/sunrpc/Kconfig"
2679030aaf9SSage Weilsource "fs/ceph/Kconfig"
268bb26b963SAlexey Dobriyansource "fs/cifs/Kconfig"
2691da177e4SLinus Torvaldssource "fs/ncpfs/Kconfig"
27033a1a6feSAlexey Dobriyansource "fs/coda/Kconfig"
271b2480c7fSAlexey Dobriyansource "fs/afs/Kconfig"
2720fcb4408SAlexey Dobriyansource "fs/9p/Kconfig"
27393fa58cbSEric Van Hensbergen
274ea0985adSJan Engelhardtendif # NETWORK_FILESYSTEMS
2751da177e4SLinus Torvalds
2761da177e4SLinus Torvaldssource "fs/nls/Kconfig"
277e7fd4179SDavid Teiglandsource "fs/dlm/Kconfig"
2781da177e4SLinus Torvalds
2791da177e4SLinus Torvaldsendmenu
280