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