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_TESTS 65 bool "bcachefs unit and performance tests" 66 depends on BCACHEFS_FS 67 help 68 Include some unit and performance tests for the core btree code 69 70config BCACHEFS_LOCK_TIME_STATS 71 bool "bcachefs lock time statistics" 72 depends on BCACHEFS_FS 73 help 74 Expose statistics for how long we held a lock in debugfs 75 76config BCACHEFS_NO_LATENCY_ACCT 77 bool "disable latency accounting and time stats" 78 depends on BCACHEFS_FS 79 help 80 This disables device latency tracking and time stats, only for performance testing 81 82config BCACHEFS_SIX_OPTIMISTIC_SPIN 83 bool "Optimistic spinning for six locks" 84 depends on BCACHEFS_FS 85 depends on SMP 86 default y 87 help 88 Instead of immediately sleeping when attempting to take a six lock that 89 is held by another thread, spin for a short while, as long as the 90 thread owning the lock is running. 91 92config BCACHEFS_PATH_TRACEPOINTS 93 bool "Extra btree_path tracepoints" 94 depends on BCACHEFS_FS && TRACING 95 help 96 Enable extra tracepoints for debugging btree_path operations; we don't 97 normally want these enabled because they happen at very high rates. 98 99config MEAN_AND_VARIANCE_UNIT_TEST 100 tristate "mean_and_variance unit tests" if !KUNIT_ALL_TESTS 101 depends on KUNIT 102 depends on BCACHEFS_FS 103 default KUNIT_ALL_TESTS 104 help 105 This option enables the kunit tests for mean_and_variance module. 106 If unsure, say N. 107