1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# File system configuration 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds 61da177e4SLinus Torvaldsmenu "File systems" 71da177e4SLinus Torvalds 8bfcfaa77SLinus Torvalds# Use unaligned word dcache accesses 9bfcfaa77SLinus Torvaldsconfig DCACHE_WORD_ACCESS 10bfcfaa77SLinus Torvalds bool 11bfcfaa77SLinus Torvalds 1231d921c7SDavid Howellsconfig VALIDATE_FS_PARSER 1331d921c7SDavid Howells bool "Validate filesystem parameter description" 1431d921c7SDavid Howells help 1531d921c7SDavid Howells Enable this to perform validation of the parameter description for a 1631d921c7SDavid Howells filesystem when it is registered. 1731d921c7SDavid Howells 189361401eSDavid Howellsif BLOCK 199361401eSDavid Howells 20ae259a9cSChristoph Hellwigconfig FS_IOMAP 21ae259a9cSChristoph Hellwig bool 22ae259a9cSChristoph Hellwig 236da0b38fSAlexey Dobriyansource "fs/ext2/Kconfig" 246da0b38fSAlexey Dobriyansource "fs/ext4/Kconfig" 256da0b38fSAlexey Dobriyansource "fs/jbd2/Kconfig" 26dab291afSMingming Cao 271da177e4SLinus Torvaldsconfig FS_MBCACHE 2802ea2104SMingming Cao# Meta block cache for Extended Attributes (ext2/ext3/ext4) 291da177e4SLinus Torvalds tristate 302c512397SAdrian Bunk default y if EXT2_FS=y && EXT2_FS_XATTR 31939da108STao Ma default y if EXT4_FS=y 32c290ea01SJan Kara default m if EXT2_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" 42d7196c5aSJaegeuk Kimsource "fs/f2fs/Kconfig" 4369050eeeSTomas Szepe 446cd176a5SMatthew Wilcoxconfig FS_DAX 456cd176a5SMatthew Wilcox bool "Direct Access (DAX) support" 466cd176a5SMatthew Wilcox depends on MMU 47d92576f1SMatthew Wilcox depends on !(ARM || MIPS || SPARC) 48e7638488SDan Williams select DEV_PAGEMAP_OPS if (ZONE_DEVICE && !FS_DAX_LIMITED) 496affb9d7SRoss Zwisler select FS_IOMAP 50ef510424SDan Williams select DAX 516cd176a5SMatthew Wilcox help 526cd176a5SMatthew Wilcox Direct Access (DAX) can be used on memory-backed block devices. 536cd176a5SMatthew Wilcox If the block device supports DAX and the filesystem supports DAX, 546cd176a5SMatthew Wilcox then you can avoid using the pagecache to buffer I/Os. Turning 556cd176a5SMatthew Wilcox on this option will compile in support for DAX; you will need to 566cd176a5SMatthew Wilcox mount the filesystem using the -o dax option. 576cd176a5SMatthew Wilcox 586cd176a5SMatthew Wilcox If you do not have a block device that is capable of using this, 596cd176a5SMatthew Wilcox or if unsure, say N. Saying Y will increase the size of the kernel 606cd176a5SMatthew Wilcox by about 5kB. 616cd176a5SMatthew Wilcox 62ee82c9edSDan Williamsconfig FS_DAX_PMD 63ee82c9edSDan Williams bool 64ee82c9edSDan Williams default FS_DAX 65ee82c9edSDan Williams depends on FS_DAX 66c046c321SDan Williams depends on ZONE_DEVICE 67c046c321SDan Williams depends on TRANSPARENT_HUGEPAGE 68ee82c9edSDan Williams 69569d0365SDan Williams# Selected by DAX drivers that do not expect filesystem DAX to support 70569d0365SDan Williams# get_user_pages() of DAX mappings. I.e. "limited" indicates no support 71569d0365SDan Williams# for fork() of processes with MAP_SHARED mappings or support for 72569d0365SDan Williams# direct-I/O to a DAX mapping. 73569d0365SDan Williamsconfig FS_DAX_LIMITED 74569d0365SDan Williams bool 75569d0365SDan Williams 7669050eeeSTomas Szepeendif # BLOCK 7769050eeeSTomas Szepe 7816ebe911SRandy Dunlap# Posix ACL utility routines 7916ebe911SRandy Dunlap# 8016ebe911SRandy Dunlap# Note: Posix ACLs can be implemented without these helpers. Never use 8116ebe911SRandy Dunlap# this symbol for ifdefs in core code. 8216ebe911SRandy Dunlap# 8316ebe911SRandy Dunlapconfig FS_POSIX_ACL 8416ebe911SRandy Dunlap def_bool n 8516ebe911SRandy Dunlap 864199ca77SRandy Dunlapconfig EXPORTFS 8779fead47SJonas Gorski tristate 884199ca77SRandy Dunlap 8915d66ac2SBenjamin Coddingtonconfig EXPORTFS_BLOCK_OPS 9015d66ac2SBenjamin Coddington bool "Enable filesystem export operations for block IO" 9115d66ac2SBenjamin Coddington help 9215d66ac2SBenjamin Coddington This option enables the export operations for a filesystem to support 9315d66ac2SBenjamin Coddington external block IO. 9415d66ac2SBenjamin Coddington 95bfcd17a6SThomas Petazzoniconfig FILE_LOCKING 966a108a14SDavid Rientjes bool "Enable POSIX file locking API" if EXPERT 97bfcd17a6SThomas Petazzoni default y 98bfcd17a6SThomas Petazzoni help 99bfcd17a6SThomas Petazzoni This option enables standard file locking support, required 100bfcd17a6SThomas Petazzoni for filesystems like NFS and for the flock() system 101bfcd17a6SThomas Petazzoni call. Disabling this option saves about 11k. 102bfcd17a6SThomas Petazzoni 1039e8925b6SJeff Laytonconfig MANDATORY_FILE_LOCKING 1049e8925b6SJeff Layton bool "Enable Mandatory file locking" 1059e8925b6SJeff Layton depends on FILE_LOCKING 1069e8925b6SJeff Layton default y 1079e8925b6SJeff Layton help 1089e8925b6SJeff Layton This option enables files appropriately marked files on appropriely 1099e8925b6SJeff Layton mounted filesystems to support mandatory locking. 1109e8925b6SJeff Layton 1119e8925b6SJeff Layton To the best of my knowledge this is dead code that no one cares about. 1129e8925b6SJeff Layton 1130b81d077SJaegeuk Kimsource "fs/crypto/Kconfig" 1140b81d077SJaegeuk Kim 115*671e67b4SEric Biggerssource "fs/verity/Kconfig" 116*671e67b4SEric Biggers 117272eb014SEric Parissource "fs/notify/Kconfig" 1182d9048e2SAmy Griffis 119884d179dSJan Karasource "fs/quota/Kconfig" 1201da177e4SLinus Torvalds 1212a3ae0a1SIan Kentsource "fs/autofs/Kconfig" 1223ef7784eSAlexey Dobriyansource "fs/fuse/Kconfig" 123e9be9d5eSMiklos Szeredisource "fs/overlayfs/Kconfig" 12404578f17SMiklos Szeredi 12506b3db1bSDavid Howellsmenu "Caches" 12606b3db1bSDavid Howells 12706b3db1bSDavid Howellssource "fs/fscache/Kconfig" 1289ae326a6SDavid Howellssource "fs/cachefiles/Kconfig" 12906b3db1bSDavid Howells 13006b3db1bSDavid Howellsendmenu 13106b3db1bSDavid Howells 1329361401eSDavid Howellsif BLOCK 1331da177e4SLinus Torvaldsmenu "CD-ROM/DVD Filesystems" 1341da177e4SLinus Torvalds 135ddfaccd9SAlexey Dobriyansource "fs/isofs/Kconfig" 136ddfaccd9SAlexey Dobriyansource "fs/udf/Kconfig" 1371da177e4SLinus Torvalds 1381da177e4SLinus Torvaldsendmenu 13925fad945SRandy Dunlapendif # BLOCK 1401da177e4SLinus Torvalds 1419361401eSDavid Howellsif BLOCK 1421da177e4SLinus Torvaldsmenu "DOS/FAT/NT Filesystems" 1431da177e4SLinus Torvalds 1441c6ace01SAlexey Dobriyansource "fs/fat/Kconfig" 1459d73ac9eSAlexey Dobriyansource "fs/ntfs/Kconfig" 1461da177e4SLinus Torvalds 1471da177e4SLinus Torvaldsendmenu 14825fad945SRandy Dunlapendif # BLOCK 1491da177e4SLinus Torvalds 1501da177e4SLinus Torvaldsmenu "Pseudo filesystems" 1511da177e4SLinus Torvalds 1526eedf8d3SAlexey Dobriyansource "fs/proc/Kconfig" 153ba341d55STejun Heosource "fs/kernfs/Kconfig" 1545f3a211aSAlexey Dobriyansource "fs/sysfs/Kconfig" 1551da177e4SLinus Torvalds 1561da177e4SLinus Torvaldsconfig TMPFS 157f5fc870dSRobert P. J. Day bool "Tmpfs virtual memory file system support (former shm fs)" 1583f96b79aSHugh Dickins depends on SHMEM 1591da177e4SLinus Torvalds help 1601da177e4SLinus Torvalds Tmpfs is a file system which keeps all files in virtual memory. 1611da177e4SLinus Torvalds 1621da177e4SLinus Torvalds Everything in tmpfs is temporary in the sense that no files will be 1631da177e4SLinus Torvalds created on your hard drive. The files live in memory and swap 1641da177e4SLinus Torvalds space. If you unmount a tmpfs instance, everything stored therein is 1651da177e4SLinus Torvalds lost. 1661da177e4SLinus Torvalds 1671da177e4SLinus Torvalds See <file:Documentation/filesystems/tmpfs.txt> for details. 1681da177e4SLinus Torvalds 1694db70f73SEric Parisconfig TMPFS_POSIX_ACL 1704db70f73SEric Paris bool "Tmpfs POSIX Access Control Lists" 1714db70f73SEric Paris depends on TMPFS 1724db70f73SEric Paris select TMPFS_XATTR 173feda821eSChristoph Hellwig select FS_POSIX_ACL 1744db70f73SEric Paris help 175206506ccSRobert P. J. Day POSIX Access Control Lists (ACLs) support additional access rights 176206506ccSRobert P. J. Day for users and groups beyond the standard owner/group/world scheme, 177206506ccSRobert P. J. Day and this option selects support for ACLs specifically for tmpfs 178206506ccSRobert P. J. Day filesystems. 179206506ccSRobert P. J. Day 180206506ccSRobert P. J. Day If you've selected TMPFS, it's possible that you'll also need 181206506ccSRobert P. J. Day this option as there are a number of Linux distros that require 182206506ccSRobert P. J. Day POSIX ACL support under /dev for certain features to work properly. 183206506ccSRobert P. J. Day For example, some distros need this feature for ALSA-related /dev 184206506ccSRobert P. J. Day files for sound to work properly. In short, if you're not sure, 185206506ccSRobert P. J. Day say Y. 1864db70f73SEric Paris 187b09e0fa4SEric Parisconfig TMPFS_XATTR 188b09e0fa4SEric Paris bool "Tmpfs extended attributes" 189b09e0fa4SEric Paris depends on TMPFS 190b09e0fa4SEric Paris default n 191b09e0fa4SEric Paris help 192b09e0fa4SEric Paris Extended attributes are name:value pairs associated with inodes by 19391581e4cSAdam Borowski the kernel or by users (see the attr(5) manual page for details). 194b09e0fa4SEric Paris 195b09e0fa4SEric Paris Currently this enables support for the trusted.* and 196b09e0fa4SEric Paris security.* namespaces. 197b09e0fa4SEric Paris 198b09e0fa4SEric Paris You need this for POSIX ACL support on tmpfs. 199b09e0fa4SEric Paris 2004db70f73SEric Paris If unsure, say N. 20139f0247dSAndreas Gruenbacher 2021da177e4SLinus Torvaldsconfig HUGETLBFS 2031da177e4SLinus Torvalds bool "HugeTLB file system support" 2045a1eb5c4SBenjamin Herrenschmidt depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \ 205ffb4a73dSPaul Mundt SYS_SUPPORTS_HUGETLBFS || BROKEN 206dda27d1aSArthur Othieno help 207dda27d1aSArthur Othieno hugetlbfs is a filesystem backing for HugeTLB pages, based on 208dda27d1aSArthur Othieno ramfs. For architectures that support it, say Y here and read 2091ad1335dSMike Rapoport <file:Documentation/admin-guide/mm/hugetlbpage.rst> for details. 210dda27d1aSArthur Othieno 211dda27d1aSArthur Othieno If unsure, say N. 2121da177e4SLinus Torvalds 2131da177e4SLinus Torvaldsconfig HUGETLB_PAGE 2141da177e4SLinus Torvalds def_bool HUGETLBFS 2151da177e4SLinus Torvalds 2165d752600SMike Kravetzconfig MEMFD_CREATE 2175d752600SMike Kravetz def_bool TMPFS || HUGETLBFS 2185d752600SMike Kravetz 219461a7184SYisheng Xieconfig ARCH_HAS_GIGANTIC_PAGE 220461a7184SYisheng Xie bool 221461a7184SYisheng Xie 2224591dabeSAlexey Dobriyansource "fs/configfs/Kconfig" 22362c204ddSLeif Lindholmsource "fs/efivarfs/Kconfig" 2247063fbf2SJoel Becker 2251da177e4SLinus Torvaldsendmenu 2261da177e4SLinus Torvalds 22767ec7d3aSRandy Dunlapmenuconfig MISC_FILESYSTEMS 22867ec7d3aSRandy Dunlap bool "Miscellaneous filesystems" 22967ec7d3aSRandy Dunlap default y 23067ec7d3aSRandy Dunlap ---help--- 23167ec7d3aSRandy Dunlap Say Y here to get to see options for various miscellaneous 23267ec7d3aSRandy Dunlap filesystems, such as filesystems that came from other 23367ec7d3aSRandy Dunlap operating systems. 23467ec7d3aSRandy Dunlap 23567ec7d3aSRandy Dunlap This option alone does not add any kernel code. 23667ec7d3aSRandy Dunlap 23767ec7d3aSRandy Dunlap If you say N, all options in this submenu will be skipped and 23867ec7d3aSRandy Dunlap disabled; if unsure, say Y here. 23967ec7d3aSRandy Dunlap 24067ec7d3aSRandy Dunlapif MISC_FILESYSTEMS 2411da177e4SLinus Torvalds 24207f01962SMike Marshallsource "fs/orangefs/Kconfig" 243bc2de2aeSAlexey Dobriyansource "fs/adfs/Kconfig" 24410951bf0SAlexey Dobriyansource "fs/affs/Kconfig" 245295c896cSAlexey Dobriyansource "fs/ecryptfs/Kconfig" 246b08bac1fSAlexey Dobriyansource "fs/hfs/Kconfig" 247b08bac1fSAlexey Dobriyansource "fs/hfsplus/Kconfig" 2480b09eb32SAlexey Dobriyansource "fs/befs/Kconfig" 2490ff42384SAlexey Dobriyansource "fs/bfs/Kconfig" 250571f0a0bSAlexey Dobriyansource "fs/efs/Kconfig" 25131db6e9eSAlexey Dobriyansource "fs/jffs2/Kconfig" 2520d7eff87SArtem Bityutskiy# UBIFS File system configuration 2530d7eff87SArtem Bityutskiysource "fs/ubifs/Kconfig" 2542a22783bSAlexey Dobriyansource "fs/cramfs/Kconfig" 25522635ec9SAlexey Dobriyansource "fs/squashfs/Kconfig" 25622135169SAlexey Dobriyansource "fs/freevxfs/Kconfig" 2578b1cd7d3SAlexey Dobriyansource "fs/minix/Kconfig" 258da55e6f9SAlexey Dobriyansource "fs/omfs/Kconfig" 259928ea192SAlexey Dobriyansource "fs/hpfs/Kconfig" 2604c741583SAlexey Dobriyansource "fs/qnx4/Kconfig" 2615d026c72SKai Bankettsource "fs/qnx6/Kconfig" 26241810246SAlexey Dobriyansource "fs/romfs/Kconfig" 263ca01d6ddSTony Lucksource "fs/pstore/Kconfig" 2648af915baSAlexey Dobriyansource "fs/sysv/Kconfig" 265a276a52fSAlexey Dobriyansource "fs/ufs/Kconfig" 2660c4fb877SRyusuke Konishi 26767ec7d3aSRandy Dunlapendif # MISC_FILESYSTEMS 2681da177e4SLinus Torvalds 269ea0985adSJan Engelhardtmenuconfig NETWORK_FILESYSTEMS 270ea0985adSJan Engelhardt bool "Network File Systems" 271ea0985adSJan Engelhardt default y 2721da177e4SLinus Torvalds depends on NET 273ea0985adSJan Engelhardt ---help--- 274ea0985adSJan Engelhardt Say Y here to get to see options for network filesystems and 275ea0985adSJan Engelhardt filesystem-related networking code, such as NFS daemon and 276ea0985adSJan Engelhardt RPCSEC security modules. 2776fb1bc10SChuck Lever 278ea0985adSJan Engelhardt This option alone does not add any kernel code. 279ea0985adSJan Engelhardt 280ea0985adSJan Engelhardt If you say N, all options in this submenu will be skipped and 281ea0985adSJan Engelhardt disabled; if unsure, say Y here. 282ea0985adSJan Engelhardt 283ea0985adSJan Engelhardtif NETWORK_FILESYSTEMS 2841da177e4SLinus Torvalds 28597afe47aSAlexey Dobriyansource "fs/nfs/Kconfig" 286e2b329e2SAlexey Dobriyansource "fs/nfsd/Kconfig" 2871da177e4SLinus Torvalds 288f7790029SJeff Laytonconfig GRACE_PERIOD 289f7790029SJeff Layton tristate 290f7790029SJeff Layton 2911da177e4SLinus Torvaldsconfig LOCKD 2921da177e4SLinus Torvalds tristate 293dd4dc82dSRandy Dunlap depends on FILE_LOCKING 294f7790029SJeff Layton select GRACE_PERIOD 2951da177e4SLinus Torvalds 2961da177e4SLinus Torvaldsconfig LOCKD_V4 2971da177e4SLinus Torvalds bool 2981da177e4SLinus Torvalds depends on NFSD_V3 || NFS_V3 299dd4dc82dSRandy Dunlap depends on FILE_LOCKING 3001da177e4SLinus Torvalds default y 3011da177e4SLinus Torvalds 302a257cdd0SAndreas Gruenbacherconfig NFS_ACL_SUPPORT 303a257cdd0SAndreas Gruenbacher tristate 304a257cdd0SAndreas Gruenbacher select FS_POSIX_ACL 305a257cdd0SAndreas Gruenbacher 306a257cdd0SAndreas Gruenbacherconfig NFS_COMMON 307a257cdd0SAndreas Gruenbacher bool 308f7790029SJeff Layton depends on NFSD || NFS_FS || LOCKD 309a257cdd0SAndreas Gruenbacher default y 310a257cdd0SAndreas Gruenbacher 3119098c24fSAlexey Dobriyansource "net/sunrpc/Kconfig" 3129030aaf9SSage Weilsource "fs/ceph/Kconfig" 313bb26b963SAlexey Dobriyansource "fs/cifs/Kconfig" 31433a1a6feSAlexey Dobriyansource "fs/coda/Kconfig" 315b2480c7fSAlexey Dobriyansource "fs/afs/Kconfig" 3160fcb4408SAlexey Dobriyansource "fs/9p/Kconfig" 31793fa58cbSEric Van Hensbergen 318ea0985adSJan Engelhardtendif # NETWORK_FILESYSTEMS 3191da177e4SLinus Torvalds 3201da177e4SLinus Torvaldssource "fs/nls/Kconfig" 321e7fd4179SDavid Teiglandsource "fs/dlm/Kconfig" 322955405d1SGabriel Krisman Bertazisource "fs/unicode/Kconfig" 3231da177e4SLinus Torvalds 3241da177e4SLinus Torvaldsendmenu 325