Kconfig 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. # SPDX-License-Identifier: GPL-2.0
  2. config BTRFS_FS
  3. tristate "Btrfs filesystem support"
  4. select BLK_CGROUP_PUNT_BIO
  5. select CRC32
  6. select CRYPTO_LIB_BLAKE2B
  7. select CRYPTO_LIB_SHA256
  8. select ZLIB_INFLATE
  9. select ZLIB_DEFLATE
  10. select LZO_COMPRESS
  11. select LZO_DECOMPRESS
  12. select ZSTD_COMPRESS
  13. select ZSTD_DECOMPRESS
  14. select FS_IOMAP
  15. select RAID6_PQ
  16. select XOR_BLOCKS
  17. select XXHASH
  18. depends on PAGE_SIZE_LESS_THAN_256KB
  19. help
  20. Btrfs is a general purpose copy-on-write filesystem with extents,
  21. writable snapshotting, support for multiple devices and many more
  22. features focused on fault tolerance, repair and easy administration.
  23. The filesystem disk format is no longer unstable, and it's not
  24. expected to change unless there are strong reasons to do so. If there
  25. is a format change, file systems with a unchanged format will
  26. continue to be mountable and usable by newer kernels.
  27. For more information, please see the web pages at
  28. https://btrfs.readthedocs.io
  29. To compile this file system support as a module, choose M here. The
  30. module will be called btrfs.
  31. If unsure, say N.
  32. config BTRFS_FS_POSIX_ACL
  33. bool "Btrfs POSIX Access Control Lists"
  34. depends on BTRFS_FS
  35. select FS_POSIX_ACL
  36. help
  37. POSIX Access Control Lists (ACLs) support permissions for users and
  38. groups beyond the owner/group/world scheme.
  39. If you don't know what Access Control Lists are, say N
  40. config BTRFS_FS_RUN_SANITY_TESTS
  41. bool "Btrfs will run sanity tests upon loading"
  42. depends on BTRFS_FS
  43. help
  44. This will run sanity tests for core functionality like free space,
  45. extent maps, extent io, extent buffers, inodes, qgroups and others,
  46. at module load time. These are mostly regression tests and are only
  47. interesting to developers.
  48. If unsure, say N.
  49. config BTRFS_DEBUG
  50. bool "Btrfs debugging support"
  51. depends on BTRFS_FS
  52. select REF_TRACKER if STACKTRACE_SUPPORT
  53. help
  54. Enable run-time debugging support for the btrfs filesystem.
  55. Additional potentially expensive checks, debugging functionality or
  56. sysfs exported information is enabled, like leak checks of internal
  57. objects, optional forced space fragmentation and /sys/fs/btrfs/debug .
  58. This has negative impact on performance.
  59. If unsure, say N.
  60. config BTRFS_ASSERT
  61. bool "Btrfs assert support"
  62. depends on BTRFS_FS
  63. help
  64. Enable run-time assertion checking. Additional safety checks are
  65. done, simple enough not to affect performance but verify invariants
  66. and assumptions of code to run properly. This may result in panics,
  67. and is meant for developers but can be enabled in general.
  68. If unsure, say N.
  69. config BTRFS_EXPERIMENTAL
  70. bool "Btrfs experimental features"
  71. depends on BTRFS_FS
  72. default n
  73. help
  74. Enable experimental features. These features may not be stable enough
  75. for end users. This is meant for btrfs developers or users who wish
  76. to test the functionality and report problems.
  77. Current list:
  78. - COW fixup worker warning - last warning before removing the
  79. functionality catching out-of-band page
  80. dirtying, not necessary since 5.8
  81. - RAID mirror read policy - additional read policies for balancing
  82. reading from redundant block group
  83. profiles (currently: pid, round-robin,
  84. fixed devid)
  85. - send stream protocol v3 - fs-verity support
  86. - raid-stripe-tree - additional mapping of extents to devices to
  87. support RAID1* profiles on zoned devices,
  88. RAID56 not yet supported
  89. - extent tree v2 - complex rework of extent tracking
  90. - large folio and block size (> page size) support
  91. - shutdown ioctl and auto-degradation support
  92. - asynchronous checksum generation for data writes
  93. - remap-tree - logical address remapping tree
  94. If unsure, say N.