Kconfig 7.4 KB

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