xref: /linux/fs/Kconfig (revision d7196c5a32caf6ebbe60771ff04ee7d797039d74)
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"
35*d7196c5aSJaegeuk 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
5269050eeeSTomas Szepeendif # BLOCK
5369050eeeSTomas Szepe
5416ebe911SRandy Dunlap# Posix ACL utility routines
5516ebe911SRandy Dunlap#
5616ebe911SRandy Dunlap# Note: Posix ACLs can be implemented without these helpers.  Never use
5716ebe911SRandy Dunlap# this symbol for ifdefs in core code.
5816ebe911SRandy Dunlap#
5916ebe911SRandy Dunlapconfig FS_POSIX_ACL
6016ebe911SRandy Dunlap	def_bool n
6116ebe911SRandy Dunlap
624199ca77SRandy Dunlapconfig EXPORTFS
6379fead47SJonas Gorski	tristate
644199ca77SRandy Dunlap
65bfcd17a6SThomas Petazzoniconfig FILE_LOCKING
666a108a14SDavid Rientjes	bool "Enable POSIX file locking API" if EXPERT
67bfcd17a6SThomas Petazzoni	default y
68bfcd17a6SThomas Petazzoni	help
69bfcd17a6SThomas Petazzoni	  This option enables standard file locking support, required
70bfcd17a6SThomas Petazzoni          for filesystems like NFS and for the flock() system
71bfcd17a6SThomas Petazzoni          call. Disabling this option saves about 11k.
72bfcd17a6SThomas Petazzoni
73272eb014SEric Parissource "fs/notify/Kconfig"
742d9048e2SAmy Griffis
75884d179dSJan Karasource "fs/quota/Kconfig"
761da177e4SLinus Torvalds
7790ffd467SAlexey Dobriyansource "fs/autofs4/Kconfig"
783ef7784eSAlexey Dobriyansource "fs/fuse/Kconfig"
79e9be9d5eSMiklos Szeredisource "fs/overlayfs/Kconfig"
8004578f17SMiklos Szeredi
8106b3db1bSDavid Howellsmenu "Caches"
8206b3db1bSDavid Howells
8306b3db1bSDavid Howellssource "fs/fscache/Kconfig"
849ae326a6SDavid Howellssource "fs/cachefiles/Kconfig"
8506b3db1bSDavid Howells
8606b3db1bSDavid Howellsendmenu
8706b3db1bSDavid Howells
889361401eSDavid Howellsif BLOCK
891da177e4SLinus Torvaldsmenu "CD-ROM/DVD Filesystems"
901da177e4SLinus Torvalds
91ddfaccd9SAlexey Dobriyansource "fs/isofs/Kconfig"
92ddfaccd9SAlexey Dobriyansource "fs/udf/Kconfig"
931da177e4SLinus Torvalds
941da177e4SLinus Torvaldsendmenu
9525fad945SRandy Dunlapendif # BLOCK
961da177e4SLinus Torvalds
979361401eSDavid Howellsif BLOCK
981da177e4SLinus Torvaldsmenu "DOS/FAT/NT Filesystems"
991da177e4SLinus Torvalds
1001c6ace01SAlexey Dobriyansource "fs/fat/Kconfig"
1019d73ac9eSAlexey Dobriyansource "fs/ntfs/Kconfig"
1021da177e4SLinus Torvalds
1031da177e4SLinus Torvaldsendmenu
10425fad945SRandy Dunlapendif # BLOCK
1051da177e4SLinus Torvalds
1061da177e4SLinus Torvaldsmenu "Pseudo filesystems"
1071da177e4SLinus Torvalds
1086eedf8d3SAlexey Dobriyansource "fs/proc/Kconfig"
109ba341d55STejun Heosource "fs/kernfs/Kconfig"
1105f3a211aSAlexey Dobriyansource "fs/sysfs/Kconfig"
1111da177e4SLinus Torvalds
1121da177e4SLinus Torvaldsconfig TMPFS
113f5fc870dSRobert P. J. Day	bool "Tmpfs virtual memory file system support (former shm fs)"
1143f96b79aSHugh Dickins	depends on SHMEM
1151da177e4SLinus Torvalds	help
1161da177e4SLinus Torvalds	  Tmpfs is a file system which keeps all files in virtual memory.
1171da177e4SLinus Torvalds
1181da177e4SLinus Torvalds	  Everything in tmpfs is temporary in the sense that no files will be
1191da177e4SLinus Torvalds	  created on your hard drive. The files live in memory and swap
1201da177e4SLinus Torvalds	  space. If you unmount a tmpfs instance, everything stored therein is
1211da177e4SLinus Torvalds	  lost.
1221da177e4SLinus Torvalds
1231da177e4SLinus Torvalds	  See <file:Documentation/filesystems/tmpfs.txt> for details.
1241da177e4SLinus Torvalds
1254db70f73SEric Parisconfig TMPFS_POSIX_ACL
1264db70f73SEric Paris	bool "Tmpfs POSIX Access Control Lists"
1274db70f73SEric Paris	depends on TMPFS
1284db70f73SEric Paris	select TMPFS_XATTR
129feda821eSChristoph Hellwig	select FS_POSIX_ACL
1304db70f73SEric Paris	help
131206506ccSRobert P. J. Day	  POSIX Access Control Lists (ACLs) support additional access rights
132206506ccSRobert P. J. Day	  for users and groups beyond the standard owner/group/world scheme,
133206506ccSRobert P. J. Day	  and this option selects support for ACLs specifically for tmpfs
134206506ccSRobert P. J. Day	  filesystems.
135206506ccSRobert P. J. Day
136206506ccSRobert P. J. Day	  If you've selected TMPFS, it's possible that you'll also need
137206506ccSRobert P. J. Day	  this option as there are a number of Linux distros that require
138206506ccSRobert P. J. Day	  POSIX ACL support under /dev for certain features to work properly.
139206506ccSRobert P. J. Day	  For example, some distros need this feature for ALSA-related /dev
140206506ccSRobert P. J. Day	  files for sound to work properly.  In short, if you're not sure,
141206506ccSRobert P. J. Day	  say Y.
1424db70f73SEric Paris
1434db70f73SEric Paris	  To learn more about Access Control Lists, visit the POSIX ACLs for
1444db70f73SEric Paris	  Linux website <http://acl.bestbits.at/>.
1454db70f73SEric Paris
146b09e0fa4SEric Parisconfig TMPFS_XATTR
147b09e0fa4SEric Paris	bool "Tmpfs extended attributes"
148b09e0fa4SEric Paris	depends on TMPFS
149b09e0fa4SEric Paris	default n
150b09e0fa4SEric Paris	help
151b09e0fa4SEric Paris	  Extended attributes are name:value pairs associated with inodes by
152b09e0fa4SEric Paris	  the kernel or by users (see the attr(5) manual page, or visit
153b09e0fa4SEric Paris	  <http://acl.bestbits.at/> for details).
154b09e0fa4SEric Paris
155b09e0fa4SEric Paris	  Currently this enables support for the trusted.* and
156b09e0fa4SEric Paris	  security.* namespaces.
157b09e0fa4SEric Paris
158b09e0fa4SEric Paris	  You need this for POSIX ACL support on tmpfs.
159b09e0fa4SEric Paris
1604db70f73SEric Paris	  If unsure, say N.
16139f0247dSAndreas Gruenbacher
1621da177e4SLinus Torvaldsconfig HUGETLBFS
1631da177e4SLinus Torvalds	bool "HugeTLB file system support"
1645a1eb5c4SBenjamin Herrenschmidt	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
165ffb4a73dSPaul Mundt		   SYS_SUPPORTS_HUGETLBFS || BROKEN
166dda27d1aSArthur Othieno	help
167dda27d1aSArthur Othieno	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
168dda27d1aSArthur Othieno	  ramfs. For architectures that support it, say Y here and read
169dda27d1aSArthur Othieno	  <file:Documentation/vm/hugetlbpage.txt> for details.
170dda27d1aSArthur Othieno
171dda27d1aSArthur Othieno	  If unsure, say N.
1721da177e4SLinus Torvalds
1731da177e4SLinus Torvaldsconfig HUGETLB_PAGE
1741da177e4SLinus Torvalds	def_bool HUGETLBFS
1751da177e4SLinus Torvalds
1764591dabeSAlexey Dobriyansource "fs/configfs/Kconfig"
17762c204ddSLeif Lindholmsource "fs/efivarfs/Kconfig"
1787063fbf2SJoel Becker
1791da177e4SLinus Torvaldsendmenu
1801da177e4SLinus Torvalds
18167ec7d3aSRandy Dunlapmenuconfig MISC_FILESYSTEMS
18267ec7d3aSRandy Dunlap	bool "Miscellaneous filesystems"
18367ec7d3aSRandy Dunlap	default y
18467ec7d3aSRandy Dunlap	---help---
18567ec7d3aSRandy Dunlap	  Say Y here to get to see options for various miscellaneous
18667ec7d3aSRandy Dunlap	  filesystems, such as filesystems that came from other
18767ec7d3aSRandy Dunlap	  operating systems.
18867ec7d3aSRandy Dunlap
18967ec7d3aSRandy Dunlap	  This option alone does not add any kernel code.
19067ec7d3aSRandy Dunlap
19167ec7d3aSRandy Dunlap	  If you say N, all options in this submenu will be skipped and
19267ec7d3aSRandy Dunlap	  disabled; if unsure, say Y here.
19367ec7d3aSRandy Dunlap
19467ec7d3aSRandy Dunlapif MISC_FILESYSTEMS
1951da177e4SLinus Torvalds
196bc2de2aeSAlexey Dobriyansource "fs/adfs/Kconfig"
19710951bf0SAlexey Dobriyansource "fs/affs/Kconfig"
198295c896cSAlexey Dobriyansource "fs/ecryptfs/Kconfig"
199b08bac1fSAlexey Dobriyansource "fs/hfs/Kconfig"
200b08bac1fSAlexey Dobriyansource "fs/hfsplus/Kconfig"
2010b09eb32SAlexey Dobriyansource "fs/befs/Kconfig"
2020ff42384SAlexey Dobriyansource "fs/bfs/Kconfig"
203571f0a0bSAlexey Dobriyansource "fs/efs/Kconfig"
20431db6e9eSAlexey Dobriyansource "fs/jffs2/Kconfig"
2050d7eff87SArtem Bityutskiy# UBIFS File system configuration
2060d7eff87SArtem Bityutskiysource "fs/ubifs/Kconfig"
2075db53f3eSJoern Engelsource "fs/logfs/Kconfig"
2082a22783bSAlexey Dobriyansource "fs/cramfs/Kconfig"
20922635ec9SAlexey Dobriyansource "fs/squashfs/Kconfig"
21022135169SAlexey Dobriyansource "fs/freevxfs/Kconfig"
2118b1cd7d3SAlexey Dobriyansource "fs/minix/Kconfig"
212da55e6f9SAlexey Dobriyansource "fs/omfs/Kconfig"
213928ea192SAlexey Dobriyansource "fs/hpfs/Kconfig"
2144c741583SAlexey Dobriyansource "fs/qnx4/Kconfig"
2155d026c72SKai Bankettsource "fs/qnx6/Kconfig"
21641810246SAlexey Dobriyansource "fs/romfs/Kconfig"
217ca01d6ddSTony Lucksource "fs/pstore/Kconfig"
2188af915baSAlexey Dobriyansource "fs/sysv/Kconfig"
219a276a52fSAlexey Dobriyansource "fs/ufs/Kconfig"
2200d8fe329SBoaz Harroshsource "fs/exofs/Kconfig"
2210c4fb877SRyusuke Konishi
22267ec7d3aSRandy Dunlapendif # MISC_FILESYSTEMS
2231da177e4SLinus Torvalds
224831c2dc5SBoaz Harroshsource "fs/exofs/Kconfig.ore"
225831c2dc5SBoaz Harrosh
226ea0985adSJan Engelhardtmenuconfig NETWORK_FILESYSTEMS
227ea0985adSJan Engelhardt	bool "Network File Systems"
228ea0985adSJan Engelhardt	default y
2291da177e4SLinus Torvalds	depends on NET
230ea0985adSJan Engelhardt	---help---
231ea0985adSJan Engelhardt	  Say Y here to get to see options for network filesystems and
232ea0985adSJan Engelhardt	  filesystem-related networking code, such as NFS daemon and
233ea0985adSJan Engelhardt	  RPCSEC security modules.
2346fb1bc10SChuck Lever
235ea0985adSJan Engelhardt	  This option alone does not add any kernel code.
236ea0985adSJan Engelhardt
237ea0985adSJan Engelhardt	  If you say N, all options in this submenu will be skipped and
238ea0985adSJan Engelhardt	  disabled; if unsure, say Y here.
239ea0985adSJan Engelhardt
240ea0985adSJan Engelhardtif NETWORK_FILESYSTEMS
2411da177e4SLinus Torvalds
24297afe47aSAlexey Dobriyansource "fs/nfs/Kconfig"
243e2b329e2SAlexey Dobriyansource "fs/nfsd/Kconfig"
2441da177e4SLinus Torvalds
245f7790029SJeff Laytonconfig GRACE_PERIOD
246f7790029SJeff Layton	tristate
247f7790029SJeff Layton
2481da177e4SLinus Torvaldsconfig LOCKD
2491da177e4SLinus Torvalds	tristate
250dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
251f7790029SJeff Layton	select GRACE_PERIOD
2521da177e4SLinus Torvalds
2531da177e4SLinus Torvaldsconfig LOCKD_V4
2541da177e4SLinus Torvalds	bool
2551da177e4SLinus Torvalds	depends on NFSD_V3 || NFS_V3
256dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
2571da177e4SLinus Torvalds	default y
2581da177e4SLinus Torvalds
259a257cdd0SAndreas Gruenbacherconfig NFS_ACL_SUPPORT
260a257cdd0SAndreas Gruenbacher	tristate
261a257cdd0SAndreas Gruenbacher	select FS_POSIX_ACL
262a257cdd0SAndreas Gruenbacher
263a257cdd0SAndreas Gruenbacherconfig NFS_COMMON
264a257cdd0SAndreas Gruenbacher	bool
265f7790029SJeff Layton	depends on NFSD || NFS_FS || LOCKD
266a257cdd0SAndreas Gruenbacher	default y
267a257cdd0SAndreas Gruenbacher
2689098c24fSAlexey Dobriyansource "net/sunrpc/Kconfig"
2699030aaf9SSage Weilsource "fs/ceph/Kconfig"
270bb26b963SAlexey Dobriyansource "fs/cifs/Kconfig"
2711da177e4SLinus Torvaldssource "fs/ncpfs/Kconfig"
27233a1a6feSAlexey Dobriyansource "fs/coda/Kconfig"
273b2480c7fSAlexey Dobriyansource "fs/afs/Kconfig"
2740fcb4408SAlexey Dobriyansource "fs/9p/Kconfig"
27593fa58cbSEric Van Hensbergen
276ea0985adSJan Engelhardtendif # NETWORK_FILESYSTEMS
2771da177e4SLinus Torvalds
2781da177e4SLinus Torvaldssource "fs/nls/Kconfig"
279e7fd4179SDavid Teiglandsource "fs/dlm/Kconfig"
2801da177e4SLinus Torvalds
2811da177e4SLinus Torvaldsendmenu
282