1 2config BCACHEFS_FS 3 tristate "bcachefs filesystem support (EXPERIMENTAL)" 4 depends on BLOCK 5 select EXPORTFS 6 select CLOSURES 7 select LIBCRC32C 8 select CRC64 9 select FS_POSIX_ACL 10 select LZ4_COMPRESS 11 select LZ4_DECOMPRESS 12 select LZ4HC_COMPRESS 13 select LZ4HC_DECOMPRESS 14 select ZLIB_DEFLATE 15 select ZLIB_INFLATE 16 select ZSTD_COMPRESS 17 select ZSTD_DECOMPRESS 18 select CRYPTO_SHA256 19 select CRYPTO_CHACHA20 20 select CRYPTO_POLY1305 21 select KEYS 22 select RAID6_PQ 23 select XOR_BLOCKS 24 select XXHASH 25 select SRCU 26 select SYMBOLIC_ERRNAME 27 select MIN_HEAP 28 help 29 The bcachefs filesystem - a modern, copy on write filesystem, with 30 support for multiple devices, compression, checksumming, etc. 31 32config BCACHEFS_QUOTA 33 bool "bcachefs quota support" 34 depends on BCACHEFS_FS 35 select QUOTACTL 36 37config BCACHEFS_ERASURE_CODING 38 bool "bcachefs erasure coding (RAID5/6) support (EXPERIMENTAL)" 39 depends on BCACHEFS_FS 40 select QUOTACTL 41 help 42 This enables the "erasure_code" filesysystem and inode option, which 43 organizes data into reed-solomon stripes instead of ordinary 44 replication. 45 46 WARNING: this feature is still undergoing on disk format changes, and 47 should only be enabled for testing purposes. 48 49config BCACHEFS_POSIX_ACL 50 bool "bcachefs POSIX ACL support" 51 depends on BCACHEFS_FS 52 select FS_POSIX_ACL 53 54config BCACHEFS_DEBUG 55 bool "bcachefs debugging" 56 depends on BCACHEFS_FS 57 help 58 Enables many extra debugging checks and assertions. 59 60 The resulting code will be significantly slower than normal; you 61 probably shouldn't select this option unless you're a developer. 62 63config BCACHEFS_TESTS 64 bool "bcachefs unit and performance tests" 65 depends on BCACHEFS_FS 66 help 67 Include some unit and performance tests for the core btree code 68 69config BCACHEFS_LOCK_TIME_STATS 70 bool "bcachefs lock time statistics" 71 depends on BCACHEFS_FS 72 help 73 Expose statistics for how long we held a lock in debugfs 74 75config BCACHEFS_NO_LATENCY_ACCT 76 bool "disable latency accounting and time stats" 77 depends on BCACHEFS_FS 78 help 79 This disables device latency tracking and time stats, only for performance testing 80 81config BCACHEFS_SIX_OPTIMISTIC_SPIN 82 bool "Optimistic spinning for six locks" 83 depends on BCACHEFS_FS 84 depends on SMP 85 default y 86 help 87 Instead of immediately sleeping when attempting to take a six lock that 88 is held by another thread, spin for a short while, as long as the 89 thread owning the lock is running. 90 91config BCACHEFS_PATH_TRACEPOINTS 92 bool "Extra btree_path tracepoints" 93 depends on BCACHEFS_FS 94 help 95 Enable extra tracepoints for debugging btree_path operations; we don't 96 normally want these enabled because they happen at very high rates. 97 98config MEAN_AND_VARIANCE_UNIT_TEST 99 tristate "mean_and_variance unit tests" if !KUNIT_ALL_TESTS 100 depends on KUNIT 101 depends on BCACHEFS_FS 102 default KUNIT_ALL_TESTS 103 help 104 This option enables the kunit tests for mean_and_variance module. 105 If unsure, say N. 106