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