linux/fs/Kconfig
<<
>>
Prefs
   1#
   2# File system configuration
   3#
   4
   5menu "File systems"
   6
   7# Use unaligned word dcache accesses
   8config DCACHE_WORD_ACCESS
   9       bool
  10
  11if BLOCK
  12
  13config FS_IOMAP
  14        bool
  15
  16source "fs/ext2/Kconfig"
  17source "fs/ext3/Kconfig"
  18source "fs/ext4/Kconfig"
  19source "fs/jbd/Kconfig"
  20source "fs/jbd2/Kconfig"
  21
  22config FS_MBCACHE
  23# Meta block cache for Extended Attributes (ext2/ext3/ext4)
  24        tristate
  25        default y if EXT2_FS=y && EXT2_FS_XATTR
  26        default y if EXT3_FS=y && EXT3_FS_XATTR
  27        default y if EXT4_FS=y
  28        default m if EXT2_FS_XATTR || EXT3_FS_XATTR || EXT4_FS
  29
  30source "fs/reiserfs/Kconfig"
  31source "fs/jfs/Kconfig"
  32
  33source "fs/xfs/Kconfig"
  34source "fs/gfs2/Kconfig"
  35source "fs/ocfs2/Kconfig"
  36source "fs/btrfs/Kconfig"
  37source "fs/nilfs2/Kconfig"
  38
  39config FS_DAX
  40        bool "Direct Access (DAX) support"
  41        depends on MMU
  42        depends on !(ARM || MIPS || SPARC)
  43        select FS_IOMAP
  44        select DAX
  45        help
  46          Direct Access (DAX) can be used on memory-backed block devices.
  47          If the block device supports DAX and the filesystem supports DAX,
  48          then you can avoid using the pagecache to buffer I/Os.  Turning
  49          on this option will compile in support for DAX; you will need to
  50          mount the filesystem using the -o dax option.
  51
  52          If you do not have a block device that is capable of using this,
  53          or if unsure, say N.  Saying Y will increase the size of the kernel
  54          by about 5kB.
  55
  56config FS_DAX_PMD
  57        bool
  58        default FS_DAX
  59        depends on FS_DAX
  60        depends on ZONE_DEVICE
  61        depends on TRANSPARENT_HUGEPAGE
  62
  63# Selected by DAX drivers that do not expect filesystem DAX to support
  64# get_user_pages() of DAX mappings. I.e. "limited" indicates no support
  65# for fork() of processes with MAP_SHARED mappings or support for
  66# direct-I/O to a DAX mapping.
  67config FS_DAX_LIMITED
  68        bool
  69
  70endif # BLOCK
  71
  72# Posix ACL utility routines
  73#
  74# Note: Posix ACLs can be implemented without these helpers.  Never use
  75# this symbol for ifdefs in core code.
  76#
  77config FS_POSIX_ACL
  78        def_bool n
  79
  80config EXPORTFS
  81        tristate
  82
  83config FILE_LOCKING
  84        bool "Enable POSIX file locking API" if EXPERT
  85        default y
  86        help
  87          This option enables standard file locking support, required
  88          for filesystems like NFS and for the flock() system
  89          call. Disabling this option saves about 11k.
  90
  91config MANDATORY_FILE_LOCKING
  92        bool "Enable Mandatory file locking"
  93        depends on FILE_LOCKING
  94        default y
  95        help
  96          This option enables files appropriately marked files on appropriely
  97          mounted filesystems to support mandatory locking.
  98
  99          To the best of my knowledge this is dead code that no one cares about.
 100
 101source "fs/notify/Kconfig"
 102
 103source "fs/quota/Kconfig"
 104
 105source "fs/autofs4/Kconfig"
 106source "fs/fuse/Kconfig"
 107source "fs/overlayfs/Kconfig"
 108
 109config GENERIC_ACL
 110        bool
 111        select FS_POSIX_ACL
 112
 113menu "Caches"
 114
 115source "fs/fscache/Kconfig"
 116source "fs/cachefiles/Kconfig"
 117
 118endmenu
 119
 120if BLOCK
 121menu "CD-ROM/DVD Filesystems"
 122
 123source "fs/isofs/Kconfig"
 124source "fs/udf/Kconfig"
 125
 126endmenu
 127endif # BLOCK
 128
 129if BLOCK
 130menu "DOS/FAT/NT Filesystems"
 131
 132source "fs/fat/Kconfig"
 133source "fs/ntfs/Kconfig"
 134
 135endmenu
 136endif # BLOCK
 137
 138menu "Pseudo filesystems"
 139
 140source "fs/proc/Kconfig"
 141source "fs/kernfs/Kconfig"
 142source "fs/sysfs/Kconfig"
 143
 144config TMPFS
 145        bool "Tmpfs virtual memory file system support (former shm fs)"
 146        depends on SHMEM
 147        help
 148          Tmpfs is a file system which keeps all files in virtual memory.
 149
 150          Everything in tmpfs is temporary in the sense that no files will be
 151          created on your hard drive. The files live in memory and swap
 152          space. If you unmount a tmpfs instance, everything stored therein is
 153          lost.
 154
 155          See <file:Documentation/filesystems/tmpfs.txt> for details.
 156
 157config TMPFS_POSIX_ACL
 158        bool "Tmpfs POSIX Access Control Lists"
 159        depends on TMPFS
 160        select TMPFS_XATTR
 161        select GENERIC_ACL
 162        help
 163          POSIX Access Control Lists (ACLs) support additional access rights
 164          for users and groups beyond the standard owner/group/world scheme,
 165          and this option selects support for ACLs specifically for tmpfs
 166          filesystems.
 167
 168          If you've selected TMPFS, it's possible that you'll also need
 169          this option as there are a number of Linux distros that require
 170          POSIX ACL support under /dev for certain features to work properly.
 171          For example, some distros need this feature for ALSA-related /dev
 172          files for sound to work properly.  In short, if you're not sure,
 173          say Y.
 174
 175          To learn more about Access Control Lists, visit the POSIX ACLs for
 176          Linux website <http://acl.bestbits.at/>.
 177
 178config TMPFS_XATTR
 179        bool "Tmpfs extended attributes"
 180        depends on TMPFS
 181        default n
 182        help
 183          Extended attributes are name:value pairs associated with inodes by
 184          the kernel or by users (see the attr(5) manual page, or visit
 185          <http://acl.bestbits.at/> for details).
 186
 187          Currently this enables support for the trusted.* and
 188          security.* namespaces.
 189
 190          You need this for POSIX ACL support on tmpfs.
 191
 192          If unsure, say N.
 193
 194config HUGETLBFS
 195        bool "HugeTLB file system support"
 196        depends on X86 || IA64 || SPARC64 || (S390 && 64BIT) || \
 197                   SYS_SUPPORTS_HUGETLBFS || BROKEN
 198        help
 199          hugetlbfs is a filesystem backing for HugeTLB pages, based on
 200          ramfs. For architectures that support it, say Y here and read
 201          <file:Documentation/vm/hugetlbpage.txt> for details.
 202
 203          If unsure, say N.
 204
 205config HUGETLB_PAGE
 206        def_bool HUGETLBFS
 207
 208source "fs/configfs/Kconfig"
 209
 210endmenu
 211
 212menuconfig MISC_FILESYSTEMS
 213        bool "Miscellaneous filesystems"
 214        default y
 215        ---help---
 216          Say Y here to get to see options for various miscellaneous
 217          filesystems, such as filesystems that came from other
 218          operating systems.
 219
 220          This option alone does not add any kernel code.
 221
 222          If you say N, all options in this submenu will be skipped and
 223          disabled; if unsure, say Y here.
 224
 225if MISC_FILESYSTEMS
 226
 227source "fs/adfs/Kconfig"
 228source "fs/affs/Kconfig"
 229source "fs/ecryptfs/Kconfig"
 230source "fs/hfs/Kconfig"
 231source "fs/hfsplus/Kconfig"
 232source "fs/befs/Kconfig"
 233source "fs/bfs/Kconfig"
 234source "fs/efs/Kconfig"
 235source "fs/jffs2/Kconfig"
 236# UBIFS File system configuration
 237source "fs/ubifs/Kconfig"
 238source "fs/logfs/Kconfig"
 239source "fs/cramfs/Kconfig"
 240source "fs/squashfs/Kconfig"
 241source "fs/freevxfs/Kconfig"
 242source "fs/minix/Kconfig"
 243source "fs/omfs/Kconfig"
 244source "fs/hpfs/Kconfig"
 245source "fs/qnx4/Kconfig"
 246source "fs/qnx6/Kconfig"
 247source "fs/romfs/Kconfig"
 248source "fs/pstore/Kconfig"
 249source "fs/sysv/Kconfig"
 250source "fs/ufs/Kconfig"
 251source "fs/exofs/Kconfig"
 252source "fs/f2fs/Kconfig"
 253source "fs/efivarfs/Kconfig"
 254
 255endif # MISC_FILESYSTEMS
 256
 257source "fs/exofs/Kconfig.ore"
 258
 259menuconfig NETWORK_FILESYSTEMS
 260        bool "Network File Systems"
 261        default y
 262        depends on NET
 263        ---help---
 264          Say Y here to get to see options for network filesystems and
 265          filesystem-related networking code, such as NFS daemon and
 266          RPCSEC security modules.
 267
 268          This option alone does not add any kernel code.
 269
 270          If you say N, all options in this submenu will be skipped and
 271          disabled; if unsure, say Y here.
 272
 273if NETWORK_FILESYSTEMS
 274
 275source "fs/nfs/Kconfig"
 276source "fs/nfsd/Kconfig"
 277
 278config GRACE_PERIOD
 279        tristate
 280
 281config LOCKD
 282        tristate
 283        depends on FILE_LOCKING
 284        select GRACE_PERIOD
 285
 286config LOCKD_V4
 287        bool
 288        depends on NFSD_V3 || NFS_V3
 289        depends on FILE_LOCKING
 290        default y
 291
 292config NFS_ACL_SUPPORT
 293        tristate
 294        select FS_POSIX_ACL
 295
 296config NFS_COMMON
 297        bool
 298        depends on NFSD || NFS_FS || LOCKD
 299        default y
 300
 301source "net/sunrpc/Kconfig"
 302source "fs/ceph/Kconfig"
 303source "fs/cifs/Kconfig"
 304source "fs/ncpfs/Kconfig"
 305source "fs/coda/Kconfig"
 306source "fs/afs/Kconfig"
 307source "fs/9p/Kconfig"
 308
 309endif # NETWORK_FILESYSTEMS
 310
 311source "fs/nls/Kconfig"
 312source "fs/dlm/Kconfig"
 313
 314endmenu
 315