xref: /linux/fs/Kconfig (revision 939da1084458246d2e29dd921c2012c177000e96)
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"
166d79125bSCarsten Otte
176d79125bSCarsten Otteconfig FS_XIP
186d79125bSCarsten Otte# execute in place
196d79125bSCarsten Otte	bool
206d79125bSCarsten Otte	depends on EXT2_FS_XIP
216d79125bSCarsten Otte	default y
226d79125bSCarsten Otte
236da0b38fSAlexey Dobriyansource "fs/jbd/Kconfig"
246da0b38fSAlexey Dobriyansource "fs/jbd2/Kconfig"
25dab291afSMingming Cao
261da177e4SLinus Torvaldsconfig FS_MBCACHE
2702ea2104SMingming Cao# Meta block cache for Extended Attributes (ext2/ext3/ext4)
281da177e4SLinus Torvalds	tristate
292c512397SAdrian Bunk	default y if EXT2_FS=y && EXT2_FS_XATTR
302c512397SAdrian Bunk	default y if EXT3_FS=y && EXT3_FS_XATTR
31*939da108STao Ma	default y if EXT4_FS=y
32*939da108STao Ma	default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS
331da177e4SLinus Torvalds
34b16ecfe2SAlexey Dobriyansource "fs/reiserfs/Kconfig"
35f5c77969SAlexey Dobriyansource "fs/jfs/Kconfig"
361da177e4SLinus Torvalds
3769050eeeSTomas Szepesource "fs/xfs/Kconfig"
3869050eeeSTomas Szepesource "fs/gfs2/Kconfig"
3969050eeeSTomas Szepesource "fs/ocfs2/Kconfig"
4069050eeeSTomas Szepesource "fs/btrfs/Kconfig"
4141f4db0fSRyusuke Konishisource "fs/nilfs2/Kconfig"
4269050eeeSTomas Szepe
4369050eeeSTomas Szepeendif # BLOCK
4469050eeeSTomas Szepe
4516ebe911SRandy Dunlap# Posix ACL utility routines
4616ebe911SRandy Dunlap#
4716ebe911SRandy Dunlap# Note: Posix ACLs can be implemented without these helpers.  Never use
4816ebe911SRandy Dunlap# this symbol for ifdefs in core code.
4916ebe911SRandy Dunlap#
5016ebe911SRandy Dunlapconfig FS_POSIX_ACL
5116ebe911SRandy Dunlap	def_bool n
5216ebe911SRandy Dunlap
534199ca77SRandy Dunlapconfig EXPORTFS
5479fead47SJonas Gorski	tristate
554199ca77SRandy Dunlap
56bfcd17a6SThomas Petazzoniconfig FILE_LOCKING
576a108a14SDavid Rientjes	bool "Enable POSIX file locking API" if EXPERT
58bfcd17a6SThomas Petazzoni	default y
59bfcd17a6SThomas Petazzoni	help
60bfcd17a6SThomas Petazzoni	  This option enables standard file locking support, required
61bfcd17a6SThomas Petazzoni          for filesystems like NFS and for the flock() system
62bfcd17a6SThomas Petazzoni          call. Disabling this option saves about 11k.
63bfcd17a6SThomas Petazzoni
64272eb014SEric Parissource "fs/notify/Kconfig"
652d9048e2SAmy Griffis
66884d179dSJan Karasource "fs/quota/Kconfig"
671da177e4SLinus Torvalds
6890ffd467SAlexey Dobriyansource "fs/autofs4/Kconfig"
693ef7784eSAlexey Dobriyansource "fs/fuse/Kconfig"
7004578f17SMiklos Szeredi
71151060acSTejun Heoconfig CUSE
7259b48568SStephen Boyd	tristate "Character device in Userspace support"
73151060acSTejun Heo	depends on FUSE_FS
74151060acSTejun Heo	help
75151060acSTejun Heo	  This FUSE extension allows character devices to be
76151060acSTejun Heo	  implemented in userspace.
77151060acSTejun Heo
78151060acSTejun Heo	  If you want to develop or use userspace character device
79151060acSTejun Heo	  based on CUSE, answer Y or M.
80151060acSTejun Heo
81f2fbc6c2SRandy Dunlapconfig GENERIC_ACL
82f2fbc6c2SRandy Dunlap	bool
83f2fbc6c2SRandy Dunlap	select FS_POSIX_ACL
84f2fbc6c2SRandy Dunlap
8506b3db1bSDavid Howellsmenu "Caches"
8606b3db1bSDavid Howells
8706b3db1bSDavid Howellssource "fs/fscache/Kconfig"
889ae326a6SDavid Howellssource "fs/cachefiles/Kconfig"
8906b3db1bSDavid Howells
9006b3db1bSDavid Howellsendmenu
9106b3db1bSDavid Howells
929361401eSDavid Howellsif BLOCK
931da177e4SLinus Torvaldsmenu "CD-ROM/DVD Filesystems"
941da177e4SLinus Torvalds
95ddfaccd9SAlexey Dobriyansource "fs/isofs/Kconfig"
96ddfaccd9SAlexey Dobriyansource "fs/udf/Kconfig"
971da177e4SLinus Torvalds
981da177e4SLinus Torvaldsendmenu
9925fad945SRandy Dunlapendif # BLOCK
1001da177e4SLinus Torvalds
1019361401eSDavid Howellsif BLOCK
1021da177e4SLinus Torvaldsmenu "DOS/FAT/NT Filesystems"
1031da177e4SLinus Torvalds
1041c6ace01SAlexey Dobriyansource "fs/fat/Kconfig"
1059d73ac9eSAlexey Dobriyansource "fs/ntfs/Kconfig"
1061da177e4SLinus Torvalds
1071da177e4SLinus Torvaldsendmenu
10825fad945SRandy Dunlapendif # BLOCK
1091da177e4SLinus Torvalds
1101da177e4SLinus Torvaldsmenu "Pseudo filesystems"
1111da177e4SLinus Torvalds
1126eedf8d3SAlexey Dobriyansource "fs/proc/Kconfig"
1135f3a211aSAlexey Dobriyansource "fs/sysfs/Kconfig"
1141da177e4SLinus Torvalds
1151da177e4SLinus Torvaldsconfig TMPFS
116f5fc870dSRobert P. J. Day	bool "Tmpfs virtual memory file system support (former shm fs)"
1173f96b79aSHugh Dickins	depends on SHMEM
1181da177e4SLinus Torvalds	help
1191da177e4SLinus Torvalds	  Tmpfs is a file system which keeps all files in virtual memory.
1201da177e4SLinus Torvalds
1211da177e4SLinus Torvalds	  Everything in tmpfs is temporary in the sense that no files will be
1221da177e4SLinus Torvalds	  created on your hard drive. The files live in memory and swap
1231da177e4SLinus Torvalds	  space. If you unmount a tmpfs instance, everything stored therein is
1241da177e4SLinus Torvalds	  lost.
1251da177e4SLinus Torvalds
1261da177e4SLinus Torvalds	  See <file:Documentation/filesystems/tmpfs.txt> for details.
1271da177e4SLinus Torvalds
1284db70f73SEric Parisconfig TMPFS_POSIX_ACL
1294db70f73SEric Paris	bool "Tmpfs POSIX Access Control Lists"
1304db70f73SEric Paris	depends on TMPFS
1314db70f73SEric Paris	select TMPFS_XATTR
1324db70f73SEric Paris	select GENERIC_ACL
1334db70f73SEric Paris	help
134206506ccSRobert P. J. Day	  POSIX Access Control Lists (ACLs) support additional access rights
135206506ccSRobert P. J. Day	  for users and groups beyond the standard owner/group/world scheme,
136206506ccSRobert P. J. Day	  and this option selects support for ACLs specifically for tmpfs
137206506ccSRobert P. J. Day	  filesystems.
138206506ccSRobert P. J. Day
139206506ccSRobert P. J. Day	  If you've selected TMPFS, it's possible that you'll also need
140206506ccSRobert P. J. Day	  this option as there are a number of Linux distros that require
141206506ccSRobert P. J. Day	  POSIX ACL support under /dev for certain features to work properly.
142206506ccSRobert P. J. Day	  For example, some distros need this feature for ALSA-related /dev
143206506ccSRobert P. J. Day	  files for sound to work properly.  In short, if you're not sure,
144206506ccSRobert P. J. Day	  say Y.
1454db70f73SEric Paris
1464db70f73SEric Paris	  To learn more about Access Control Lists, visit the POSIX ACLs for
1474db70f73SEric Paris	  Linux website <http://acl.bestbits.at/>.
1484db70f73SEric Paris
149b09e0fa4SEric Parisconfig TMPFS_XATTR
150b09e0fa4SEric Paris	bool "Tmpfs extended attributes"
151b09e0fa4SEric Paris	depends on TMPFS
152b09e0fa4SEric Paris	default n
153b09e0fa4SEric Paris	help
154b09e0fa4SEric Paris	  Extended attributes are name:value pairs associated with inodes by
155b09e0fa4SEric Paris	  the kernel or by users (see the attr(5) manual page, or visit
156b09e0fa4SEric Paris	  <http://acl.bestbits.at/> for details).
157b09e0fa4SEric Paris
158b09e0fa4SEric Paris	  Currently this enables support for the trusted.* and
159b09e0fa4SEric Paris	  security.* namespaces.
160b09e0fa4SEric Paris
161b09e0fa4SEric Paris	  You need this for POSIX ACL support on tmpfs.
162b09e0fa4SEric Paris
1634db70f73SEric Paris	  If unsure, say N.
16439f0247dSAndreas Gruenbacher
1651da177e4SLinus Torvaldsconfig HUGETLBFS
1661da177e4SLinus Torvalds	bool "HugeTLB file system support"
1675a1eb5c4SBenjamin Herrenschmidt	depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
168ffb4a73dSPaul Mundt		   SYS_SUPPORTS_HUGETLBFS || BROKEN
169dda27d1aSArthur Othieno	help
170dda27d1aSArthur Othieno	  hugetlbfs is a filesystem backing for HugeTLB pages, based on
171dda27d1aSArthur Othieno	  ramfs. For architectures that support it, say Y here and read
172dda27d1aSArthur Othieno	  <file:Documentation/vm/hugetlbpage.txt> for details.
173dda27d1aSArthur Othieno
174dda27d1aSArthur Othieno	  If unsure, say N.
1751da177e4SLinus Torvalds
1761da177e4SLinus Torvaldsconfig HUGETLB_PAGE
1771da177e4SLinus Torvalds	def_bool HUGETLBFS
1781da177e4SLinus Torvalds
1794591dabeSAlexey Dobriyansource "fs/configfs/Kconfig"
1807063fbf2SJoel Becker
1811da177e4SLinus Torvaldsendmenu
1821da177e4SLinus Torvalds
18367ec7d3aSRandy Dunlapmenuconfig MISC_FILESYSTEMS
18467ec7d3aSRandy Dunlap	bool "Miscellaneous filesystems"
18567ec7d3aSRandy Dunlap	default y
18667ec7d3aSRandy Dunlap	---help---
18767ec7d3aSRandy Dunlap	  Say Y here to get to see options for various miscellaneous
18867ec7d3aSRandy Dunlap	  filesystems, such as filesystems that came from other
18967ec7d3aSRandy Dunlap	  operating systems.
19067ec7d3aSRandy Dunlap
19167ec7d3aSRandy Dunlap	  This option alone does not add any kernel code.
19267ec7d3aSRandy Dunlap
19367ec7d3aSRandy Dunlap	  If you say N, all options in this submenu will be skipped and
19467ec7d3aSRandy Dunlap	  disabled; if unsure, say Y here.
19567ec7d3aSRandy Dunlap
19667ec7d3aSRandy Dunlapif MISC_FILESYSTEMS
1971da177e4SLinus Torvalds
198bc2de2aeSAlexey Dobriyansource "fs/adfs/Kconfig"
19910951bf0SAlexey Dobriyansource "fs/affs/Kconfig"
200295c896cSAlexey Dobriyansource "fs/ecryptfs/Kconfig"
201b08bac1fSAlexey Dobriyansource "fs/hfs/Kconfig"
202b08bac1fSAlexey Dobriyansource "fs/hfsplus/Kconfig"
2030b09eb32SAlexey Dobriyansource "fs/befs/Kconfig"
2040ff42384SAlexey Dobriyansource "fs/bfs/Kconfig"
205571f0a0bSAlexey Dobriyansource "fs/efs/Kconfig"
20631db6e9eSAlexey Dobriyansource "fs/jffs2/Kconfig"
2070d7eff87SArtem Bityutskiy# UBIFS File system configuration
2080d7eff87SArtem Bityutskiysource "fs/ubifs/Kconfig"
2095db53f3eSJoern Engelsource "fs/logfs/Kconfig"
2102a22783bSAlexey Dobriyansource "fs/cramfs/Kconfig"
21122635ec9SAlexey Dobriyansource "fs/squashfs/Kconfig"
21222135169SAlexey Dobriyansource "fs/freevxfs/Kconfig"
2138b1cd7d3SAlexey Dobriyansource "fs/minix/Kconfig"
214da55e6f9SAlexey Dobriyansource "fs/omfs/Kconfig"
215928ea192SAlexey Dobriyansource "fs/hpfs/Kconfig"
2164c741583SAlexey Dobriyansource "fs/qnx4/Kconfig"
2175d026c72SKai Bankettsource "fs/qnx6/Kconfig"
21841810246SAlexey Dobriyansource "fs/romfs/Kconfig"
219ca01d6ddSTony Lucksource "fs/pstore/Kconfig"
2208af915baSAlexey Dobriyansource "fs/sysv/Kconfig"
221a276a52fSAlexey Dobriyansource "fs/ufs/Kconfig"
2220d8fe329SBoaz Harroshsource "fs/exofs/Kconfig"
2230c4fb877SRyusuke Konishi
22467ec7d3aSRandy Dunlapendif # MISC_FILESYSTEMS
2251da177e4SLinus Torvalds
226831c2dc5SBoaz Harroshsource "fs/exofs/Kconfig.ore"
227831c2dc5SBoaz Harrosh
228ea0985adSJan Engelhardtmenuconfig NETWORK_FILESYSTEMS
229ea0985adSJan Engelhardt	bool "Network File Systems"
230ea0985adSJan Engelhardt	default y
2311da177e4SLinus Torvalds	depends on NET
232ea0985adSJan Engelhardt	---help---
233ea0985adSJan Engelhardt	  Say Y here to get to see options for network filesystems and
234ea0985adSJan Engelhardt	  filesystem-related networking code, such as NFS daemon and
235ea0985adSJan Engelhardt	  RPCSEC security modules.
2366fb1bc10SChuck Lever
237ea0985adSJan Engelhardt	  This option alone does not add any kernel code.
238ea0985adSJan Engelhardt
239ea0985adSJan Engelhardt	  If you say N, all options in this submenu will be skipped and
240ea0985adSJan Engelhardt	  disabled; if unsure, say Y here.
241ea0985adSJan Engelhardt
242ea0985adSJan Engelhardtif NETWORK_FILESYSTEMS
2431da177e4SLinus Torvalds
24497afe47aSAlexey Dobriyansource "fs/nfs/Kconfig"
245e2b329e2SAlexey Dobriyansource "fs/nfsd/Kconfig"
2461da177e4SLinus Torvalds
2471da177e4SLinus Torvaldsconfig LOCKD
2481da177e4SLinus Torvalds	tristate
249dd4dc82dSRandy Dunlap	depends on FILE_LOCKING
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
263a257cdd0SAndreas Gruenbacher	depends on NFSD || NFS_FS
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