Kconfig 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. config F2FS_FS
  3. tristate "F2FS filesystem support"
  4. depends on BLOCK
  5. select BUFFER_HEAD
  6. select NLS
  7. select CRYPTO
  8. select CRYPTO_CRC32
  9. select F2FS_FS_XATTR if FS_ENCRYPTION
  10. select FS_ENCRYPTION_ALGS if FS_ENCRYPTION
  11. select FS_IOMAP
  12. select LZ4_COMPRESS if F2FS_FS_LZ4
  13. select LZ4_DECOMPRESS if F2FS_FS_LZ4
  14. select LZ4HC_COMPRESS if F2FS_FS_LZ4HC
  15. select LZO_COMPRESS if F2FS_FS_LZO
  16. select LZO_DECOMPRESS if F2FS_FS_LZO
  17. select ZSTD_COMPRESS if F2FS_FS_ZSTD
  18. select ZSTD_DECOMPRESS if F2FS_FS_ZSTD
  19. help
  20. F2FS is based on Log-structured File System (LFS), which supports
  21. versatile "flash-friendly" features. The design has been focused on
  22. addressing the fundamental issues in LFS, which are snowball effect
  23. of wandering tree and high cleaning overhead.
  24. Since flash-based storages show different characteristics according to
  25. the internal geometry or flash memory management schemes aka FTL, F2FS
  26. and tools support various parameters not only for configuring on-disk
  27. layout, but also for selecting allocation and cleaning algorithms.
  28. If unsure, say N.
  29. config F2FS_STAT_FS
  30. bool "F2FS Status Information"
  31. depends on F2FS_FS
  32. default y
  33. help
  34. /sys/kernel/debug/f2fs/ contains information about all the partitions
  35. mounted as f2fs. Each file shows the whole f2fs information.
  36. /sys/kernel/debug/f2fs/status includes:
  37. - major filesystem information managed by f2fs currently
  38. - average SIT information about whole segments
  39. - current memory footprint consumed by f2fs.
  40. config F2FS_FS_XATTR
  41. bool "F2FS extended attributes"
  42. depends on F2FS_FS
  43. default y
  44. help
  45. Extended attributes are name:value pairs associated with inodes by
  46. the kernel or by users (see the attr(5) manual page for details).
  47. If unsure, say N.
  48. config F2FS_FS_POSIX_ACL
  49. bool "F2FS Access Control Lists"
  50. depends on F2FS_FS_XATTR
  51. select FS_POSIX_ACL
  52. default y
  53. help
  54. Posix Access Control Lists (ACLs) support permissions for users and
  55. groups beyond the owner/group/world scheme.
  56. If you don't know what Access Control Lists are, say N
  57. config F2FS_FS_SECURITY
  58. bool "F2FS Security Labels"
  59. depends on F2FS_FS_XATTR
  60. help
  61. Security labels provide an access control facility to support Linux
  62. Security Models (LSMs) accepted by AppArmor, SELinux, Smack and TOMOYO
  63. Linux. This option enables an extended attribute handler for file
  64. security labels in the f2fs filesystem, so that it requires enabling
  65. the extended attribute support in advance. In particular you need this
  66. option if you use the setcap command to assign initial process capabi-
  67. lities to executables (the security.* extended attributes).
  68. If you are not using a security module, say N.
  69. config F2FS_CHECK_FS
  70. bool "F2FS consistency checking feature"
  71. depends on F2FS_FS
  72. help
  73. Enables BUG_ONs which check the filesystem consistency in runtime.
  74. If you want to improve the performance, say N.
  75. config F2FS_FAULT_INJECTION
  76. bool "F2FS fault injection facility"
  77. depends on F2FS_FS
  78. help
  79. Test F2FS to inject faults such as ENOMEM, ENOSPC, and so on.
  80. If unsure, say N.
  81. config F2FS_FS_COMPRESSION
  82. bool "F2FS compression feature"
  83. depends on F2FS_FS
  84. help
  85. Enable filesystem-level compression on f2fs regular files,
  86. multiple back-end compression algorithms are supported.
  87. config F2FS_FS_LZO
  88. bool "LZO compression support"
  89. depends on F2FS_FS_COMPRESSION
  90. default y
  91. help
  92. Support LZO compress algorithm, if unsure, say Y.
  93. config F2FS_FS_LZORLE
  94. bool "LZO-RLE compression support"
  95. depends on F2FS_FS_LZO
  96. default y
  97. help
  98. Support LZO-RLE compress algorithm, if unsure, say Y.
  99. config F2FS_FS_LZ4
  100. bool "LZ4 compression support"
  101. depends on F2FS_FS_COMPRESSION
  102. default y
  103. help
  104. Support LZ4 compress algorithm, if unsure, say Y.
  105. config F2FS_FS_LZ4HC
  106. bool "LZ4HC compression support"
  107. depends on F2FS_FS_LZ4
  108. default y
  109. help
  110. Support LZ4HC compress algorithm, LZ4HC has compatible on-disk
  111. layout with LZ4, if unsure, say Y.
  112. config F2FS_FS_ZSTD
  113. bool "ZSTD compression support"
  114. depends on F2FS_FS_COMPRESSION
  115. default y
  116. help
  117. Support ZSTD compress algorithm, if unsure, say Y.
  118. config F2FS_IOSTAT
  119. bool "F2FS IO statistics information"
  120. depends on F2FS_FS
  121. default y
  122. help
  123. Support getting IO statistics through sysfs and printing out periodic
  124. IO statistics tracepoint events. You have to turn on "iostat_enable"
  125. sysfs node to enable this feature.
  126. config F2FS_UNFAIR_RWSEM
  127. bool "F2FS unfair rw_semaphore"
  128. depends on F2FS_FS && BLK_CGROUP
  129. help
  130. Use unfair rw_semaphore, if system configured IO priority by block
  131. cgroup.