xref: /linux/fs/Kconfig (revision 6cd176a51e52e5218b1aa97e1ec916bac25a9b7e)
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/ext3/Kconfig"
156da0b38fSAlexey Dobriyansource "fs/ext4/Kconfig"
166da0b38fSAlexey Dobriyansource "fs/jbd/Kconfig"
176da0b38fSAlexey Dobriyansource "fs/jbd2/Kconfig"
18dab291afSMingming Cao
191da177e4SLinus Torvaldsconfig FS_MBCACHE
2002ea2104SMingming Cao# Meta block cache for Extended Attributes (ext2/ext3/ext4)
211da177e4SLinus Torvalds	tristate
222c512397SAdrian Bunk	default y if EXT2_FS=y && EXT2_FS_XATTR
232c512397SAdrian Bunk	default y if EXT3_FS=y && EXT3_FS_XATTR
24939da108STao Ma	default y if EXT4_FS=y
25939da108STao Ma	default m if EXT2_FS_XATTR || EXT3_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"
3569050eeeSTomas Szepe
36*6cd176a5SMatthew Wilcoxconfig FS_DAX
37*6cd176a5SMatthew Wilcox	bool "Direct Access (DAX) support"
38*6cd176a5SMatthew Wilcox	depends on MMU
39*6cd176a5SMatthew Wilcox	help
40*6cd176a5SMatthew Wilcox	  Direct Access (DAX) can be used on memory-backed block devices.
41*6cd176a5SMatthew Wilcox	  If the block device supports DAX and the filesystem supports DAX,
42*6cd176a5SMatthew Wilcox	  then you can avoid using the pagecache to buffer I/Os.  Turning
43*6cd176a5SMatthew Wilcox	  on this option will compile in support for DAX; you will need to
44*6cd176a5SMatthew Wilcox	  mount the filesystem using the -o dax option.
45*6cd176a5SMatthew Wilcox
46*6cd176a5SMatthew Wilcox	  If you do not have a block device that is capable of using this,
47*6cd176a5SMatthew Wilcox	  or if unsure, say N.  Saying Y will increase the size of the kernel
48*6cd176a5SMatthew Wilcox	  by about 5kB.
49*6cd176a5SMatthew Wilcox
5069050eeeSTomas Szepeendif # BLOCK
5169050eeeSTomas Szepe
5216ebe911SRandy Dunlap# Posix ACL utility routines
5316ebe911SRandy Dunlap#
5416ebe911SRandy Dunlap# Note: Posix ACLs can be implemented without these helpers.  Never use
5516ebe911SRandy Dunlap# this symbol for ifdefs in core code.
5616ebe911SRandy Dunlap#
5716ebe911SRandy Dunlapconfig FS_POSIX_ACL
5816ebe911SRandy Dunlap	def_bool n
5916ebe911SRandy Dunlap
604199ca77SRandy Dunlapconfig EXPORTFS
6179fead47SJonas Gorski	tristate
624199ca77SRandy Dunlap
63bfcd17a6SThomas Petazzoniconfig FILE_LOCKING
646a108a14SDavid Rientjes	bool "Enable POSIX file locking API" if EXPERT
65bfcd17a6SThomas Petazzoni	default y
66bfcd17a6SThomas Petazzoni	help
67bfcd17a6SThomas Petazzoni	  This option enables standard file locking support, required
68bfcd17a6SThomas Petazzoni          for filesystems like NFS and for the flock() system
69bfcd17a6SThomas Petazzoni          call. Disabling this option saves about 11k.
70bfcd17a6SThomas Petazzoni
71272eb014SEric Parissource "fs/notify/Kconfig"
722d9048e2SAmy Griffis
73884d179dSJan Karasource "fs/quota/Kconfig"
741da177e4SLinus Torvalds
7590ffd467SAlexey Dobriyansource "fs/autofs4/Kconfig"
763ef7784eSAlexey Dobriyansource "fs/fuse/Kconfig"
77e9be9d5eSMiklos Szeredisource "fs/overlayfs/Kconfig"
7804578f17SMiklos Szeredi
7906b3db1bSDavid Howellsmenu "Caches"
8006b3db1bSDavid Howells
8106b3db1bSDavid Howellssource "fs/fscache/Kconfig"
829ae326a6SDavid Howellssource "fs/cachefiles/Kconfig"
8306b3db1bSDavid Howells
8406b3db1bSDavid Howellsendmenu
8506b3db1bSDavid Howells
869361401eSDavid Howellsif BLOCK
871da177e4SLinus Torvaldsmenu "CD-ROM/DVD Filesystems"
881da177e4SLinus Torvalds
89ddfaccd9SAlexey Dobriyansource "fs/isofs/Kconfig"
90ddfaccd9SAlexey Dobriyansource "fs/udf/Kconfig"
911da177e4SLinus Torvalds
921da177e4SLinus Torvaldsendmenu
9325fad945SRandy Dunlapendif # BLOCK
941da177e4SLinus Torvalds
959361401eSDavid Howellsif BLOCK
961da177e4SLinus Torvaldsmenu "DOS/FAT/NT Filesystems"
971da177e4SLinus Torvalds
981c6ace01SAlexey Dobriyansource "fs/fat/Kconfig"
999d73ac9eSAlexey Dobriyansource "fs/ntfs/Kconfig"
1001da177e4SLinus Torvalds
1011da177e4SLinus Torvaldsendmenu
10225fad945SRandy Dunlapendif # BLOCK
1031da177e4SLinus Torvalds
1041da177e4SLinus Torvaldsmenu "Pseudo filesystems"
1051da177e4SLinus Torvalds
1066eedf8d3SAlexey Dobriyansource "fs/proc/Kconfig"
107ba341d55STejun Heosource "fs/kernfs/Kconfig"
1085f3a211aSAlexey Dobriyansource "fs/sysfs/Kconfig"
1091da177e4SLinus Torvalds
1101da177e4SLinus Torvaldsconfig TMPFS
111f5fc870dSRobert P. J. Day	bool "Tmpfs virtual memory file system support (former shm fs)"
1123f96b79aSHugh Dickins	depends on SHMEM
1131da177e4SLinus Torvalds	help
1141da177e4SLinus Torvalds	  Tmpfs is a file system which keeps all files in virtual memory.
1151da177e4SLinus Torvalds
1161da177e4SLinus Torvalds	  Everything in tmpfs is temporary in the sense that no files will be
1171da177e4SLinus Torvalds	  created on your hard drive. The files live in memory and swap
1181da177e4SLinus Torvalds	  space. If you unmount a tmpfs instance, everything stored therein is
1191da177e4SLinus Torvalds	  lost.
1201da177e4SLinus Torvalds
1211da177e4SLinus Torvalds	  See <file:Documentation/filesystems/tmpfs.txt> for details.
1221da177e4SLinus Torvalds
1234db70f73SEric Parisconfig TMPFS_POSIX_ACL
1244db70f73SEric Paris	bool "Tmpfs POSIX Access Control Lists"
1254db70f73SEric Paris	depends on TMPFS
1264db70f73SEric Paris	select TMPFS_XATTR
127feda821eSChristoph Hellwig	select FS_POSIX_ACL
1284db70f73SEric Paris	help
129206506ccSRobert P. J. Day	  POSIX Access Control Lists (ACLs) support additional access rights
130206506ccSRobert P. J. Day	  for users and groups beyond the standard owner/group/world scheme,
131206506ccSRobert P. J. Day	  and this option selects support for ACLs specifically for tmpfs
132206506ccSRobert P. J. Day	  filesystems.
133206506ccSRobert P. J. Day
134206506ccSRobert P. J. Day	  If you've selected TMPFS, it's possible that you'll also need
135206506ccSRobert P. J. Day	  this option as there are a number of Linux distros that require
136206506ccSRobert P. J. Day	  POSIX ACL support under /dev for certain features to work properly.
137206506ccSRobert P. J. Day	  For example, some distros need this feature for ALSA-related /dev
138206506ccSRobert P. J. Day	  files for sound to work properly.  In short, if you're not sure,
139206506ccSRobert P. J. Day	  say Y.
1404db70f73SEric Paris
1414db70f73SEric Paris	  To learn more about Access Control Lists, visit the POSIX ACLs for
1424db70f73SEric Paris	  Linux website <http://acl.bestbits.at/>.
1434db70f73SEric Paris
144b09e0fa4SEric Parisconfig TMPFS_XATTR
145b09e0fa4SEric Paris	bool "Tmpfs extended attributes"
146b09e0fa4SEric Paris	depends on TMPFS
147b09e0fa4SEric Paris	default n
148b09e0fa4SEric Paris	help
149b09e0fa4SEric Paris	  Extended attributes are name:value pairs associated with inodes by
150b09e0fa4SEric Paris	  the kernel or by users (see the attr(5) manual page, or visit
151b09e0fa4SEric Paris	  <http://acl.bestbits.at/> for details).
152b09e0fa4SEric Paris
153b09e0fa4SEric Paris	  Currently this enables support for the trusted.* and
154b09e0fa4SEric Paris	  security.* namespaces.
155b09e0fa4SEric Paris
156b09e0fa4SEric Paris	  You need this for POSIX ACL support on tmpfs.
157b09e0fa4SEric Paris
1584db70f73SEric Paris	  If unsure, say N.
15939f0247dSAndreas Gruenbacher
1601da177e4SLinus Torvaldsconfig HUGETLBFS
1611da177e4SLinus Torvalds	bool "HugeTLB file system support"
1625a1eb5c4SBenjamin Herrenschmidt	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
163ffb4a73dSPaul Mundt		   SYS_SUPPORTS_HUGETLBFS || BROKEN
164dda27d1aSArthur Othieno	help
165dda27d1aSArthur Othieno	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
166dda27d1aSArthur Othieno	  ramfs. For architectures that support it, say Y here and read
167dda27d1aSArthur Othieno	  <file:Documentation/vm/hugetlbpage.txt> for details.
168dda27d1aSArthur Othieno
169dda27d1aSArthur Othieno	  If unsure, say N.
1701da177e4SLinus Torvalds
1711da177e4SLinus Torvaldsconfig HUGETLB_PAGE
1721da177e4SLinus Torvalds	def_bool HUGETLBFS
1731da177e4SLinus Torvalds
1744591dabeSAlexey Dobriyansource "fs/configfs/Kconfig"
17562c204ddSLeif Lindholmsource "fs/efivarfs/Kconfig"
1767063fbf2SJoel Becker
1771da177e4SLinus Torvaldsendmenu
1781da177e4SLinus Torvalds
17967ec7d3aSRandy Dunlapmenuconfig MISC_FILESYSTEMS
18067ec7d3aSRandy Dunlap	bool "Miscellaneous filesystems"
18167ec7d3aSRandy Dunlap	default y
18267ec7d3aSRandy Dunlap	---help---
18367ec7d3aSRandy Dunlap	  Say Y here to get to see options for various miscellaneous
18467ec7d3aSRandy Dunlap	  filesystems, such as filesystems that came from other
18567ec7d3aSRandy Dunlap	  operating systems.
18667ec7d3aSRandy Dunlap
18767ec7d3aSRandy Dunlap	  This option alone does not add any kernel code.
18867ec7d3aSRandy Dunlap
18967ec7d3aSRandy Dunlap	  If you say N, all options in this submenu will be skipped and
19067ec7d3aSRandy Dunlap	  disabled; if unsure, say Y here.
19167ec7d3aSRandy Dunlap
19267ec7d3aSRandy Dunlapif MISC_FILESYSTEMS
1931da177e4SLinus Torvalds
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"
219a14d5393SJaegeuk Kimsource "fs/f2fs/Kconfig"
2200c4fb877SRyusuke Konishi
22167ec7d3aSRandy Dunlapendif # MISC_FILESYSTEMS
2221da177e4SLinus Torvalds
223831c2dc5SBoaz Harroshsource "fs/exofs/Kconfig.ore"
224831c2dc5SBoaz Harrosh
225ea0985adSJan Engelhardtmenuconfig NETWORK_FILESYSTEMS
226ea0985adSJan Engelhardt	bool "Network File Systems"
227ea0985adSJan Engelhardt	default y
2281da177e4SLinus Torvalds	depends on NET
229ea0985adSJan Engelhardt	---help---
230ea0985adSJan Engelhardt	  Say Y here to get to see options for network filesystems and
231ea0985adSJan Engelhardt	  filesystem-related networking code, such as NFS daemon and
232ea0985adSJan Engelhardt	  RPCSEC security modules.
2336fb1bc10SChuck Lever
234ea0985adSJan Engelhardt	  This option alone does not add any kernel code.
235ea0985adSJan Engelhardt
236ea0985adSJan Engelhardt	  If you say N, all options in this submenu will be skipped and
237ea0985adSJan Engelhardt	  disabled; if unsure, say Y here.
238ea0985adSJan Engelhardt
239ea0985adSJan Engelhardtif NETWORK_FILESYSTEMS
2401da177e4SLinus Torvalds
24197afe47aSAlexey Dobriyansource "fs/nfs/Kconfig"
242e2b329e2SAlexey Dobriyansource "fs/nfsd/Kconfig"
2431da177e4SLinus Torvalds
244f7790029SJeff Laytonconfig GRACE_PERIOD
245f7790029SJeff Layton	tristate
246f7790029SJeff Layton
2471da177e4SLinus Torvaldsconfig LOCKD
2481da177e4SLinus Torvalds	tristate
249dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
250f7790029SJeff Layton	select GRACE_PERIOD
2511da177e4SLinus Torvalds
2521da177e4SLinus Torvaldsconfig LOCKD_V4
2531da177e4SLinus Torvalds	bool
2541da177e4SLinus Torvalds	depends on NFSD_V3 || NFS_V3
255dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
2561da177e4SLinus Torvalds	default y
2571da177e4SLinus Torvalds
258a257cdd0SAndreas Gruenbacherconfig NFS_ACL_SUPPORT
259a257cdd0SAndreas Gruenbacher	tristate
260a257cdd0SAndreas Gruenbacher	select FS_POSIX_ACL
261a257cdd0SAndreas Gruenbacher
262a257cdd0SAndreas Gruenbacherconfig NFS_COMMON
263a257cdd0SAndreas Gruenbacher	bool
264f7790029SJeff Layton	depends on NFSD || NFS_FS || LOCKD
265a257cdd0SAndreas Gruenbacher	default y
266a257cdd0SAndreas Gruenbacher
2679098c24fSAlexey Dobriyansource "net/sunrpc/Kconfig"
2689030aaf9SSage Weilsource "fs/ceph/Kconfig"
269bb26b963SAlexey Dobriyansource "fs/cifs/Kconfig"
2701da177e4SLinus Torvaldssource "fs/ncpfs/Kconfig"
27133a1a6feSAlexey Dobriyansource "fs/coda/Kconfig"
272b2480c7fSAlexey Dobriyansource "fs/afs/Kconfig"
2730fcb4408SAlexey Dobriyansource "fs/9p/Kconfig"
27493fa58cbSEric Van Hensbergen
275ea0985adSJan Engelhardtendif # NETWORK_FILESYSTEMS
2761da177e4SLinus Torvalds
2771da177e4SLinus Torvaldssource "fs/nls/Kconfig"
278e7fd4179SDavid Teiglandsource "fs/dlm/Kconfig"
2791da177e4SLinus Torvalds
2801da177e4SLinus Torvaldsendmenu
281