11c6fdbd8SKent Overstreet 21c6fdbd8SKent Overstreetconfig BCACHEFS_FS 3dbc7deb2SKent Overstreet tristate "bcachefs filesystem support (EXPERIMENTAL)" 41c6fdbd8SKent Overstreet depends on BLOCK 51c6fdbd8SKent Overstreet select EXPORTFS 61c6fdbd8SKent Overstreet select CLOSURES 71c6fdbd8SKent Overstreet select LIBCRC32C 804c2c34fSKent Overstreet select CRC64 91c6fdbd8SKent Overstreet select FS_POSIX_ACL 101c6fdbd8SKent Overstreet select LZ4_COMPRESS 111c6fdbd8SKent Overstreet select LZ4_DECOMPRESS 12986e9842SKent Overstreet select LZ4HC_COMPRESS 13986e9842SKent Overstreet select LZ4HC_DECOMPRESS 141c6fdbd8SKent Overstreet select ZLIB_DEFLATE 151c6fdbd8SKent Overstreet select ZLIB_INFLATE 161c6fdbd8SKent Overstreet select ZSTD_COMPRESS 171c6fdbd8SKent Overstreet select ZSTD_DECOMPRESS 18cc354fa7SEric Biggers select CRYPTO 191c6fdbd8SKent Overstreet select CRYPTO_SHA256 201c6fdbd8SKent Overstreet select CRYPTO_CHACHA20 211c6fdbd8SKent Overstreet select CRYPTO_POLY1305 221c6fdbd8SKent Overstreet select KEYS 23cd575ddfSKent Overstreet select RAID6_PQ 24cd575ddfSKent Overstreet select XOR_BLOCKS 2541e63382Sjpsollie select XXHASH 26876c7af3SKent Overstreet select SRCU 27615f867cSKent Overstreet select SYMBOLIC_ERRNAME 2892a8b224SKuan-Wei Chiu select MIN_HEAP 291c6fdbd8SKent Overstreet help 301c6fdbd8SKent Overstreet The bcachefs filesystem - a modern, copy on write filesystem, with 311c6fdbd8SKent Overstreet support for multiple devices, compression, checksumming, etc. 321c6fdbd8SKent Overstreet 331c6fdbd8SKent Overstreetconfig BCACHEFS_QUOTA 341c6fdbd8SKent Overstreet bool "bcachefs quota support" 351c6fdbd8SKent Overstreet depends on BCACHEFS_FS 361c6fdbd8SKent Overstreet select QUOTACTL 371c6fdbd8SKent Overstreet 386201d91eSKent Overstreetconfig BCACHEFS_ERASURE_CODING 396201d91eSKent Overstreet bool "bcachefs erasure coding (RAID5/6) support (EXPERIMENTAL)" 406201d91eSKent Overstreet depends on BCACHEFS_FS 416201d91eSKent Overstreet select QUOTACTL 426201d91eSKent Overstreet help 436201d91eSKent Overstreet This enables the "erasure_code" filesysystem and inode option, which 446201d91eSKent Overstreet organizes data into reed-solomon stripes instead of ordinary 456201d91eSKent Overstreet replication. 466201d91eSKent Overstreet 476201d91eSKent Overstreet WARNING: this feature is still undergoing on disk format changes, and 486201d91eSKent Overstreet should only be enabled for testing purposes. 496201d91eSKent Overstreet 501c6fdbd8SKent Overstreetconfig BCACHEFS_POSIX_ACL 511c6fdbd8SKent Overstreet bool "bcachefs POSIX ACL support" 521c6fdbd8SKent Overstreet depends on BCACHEFS_FS 531c6fdbd8SKent Overstreet select FS_POSIX_ACL 541c6fdbd8SKent Overstreet 551c6fdbd8SKent Overstreetconfig BCACHEFS_DEBUG 561c6fdbd8SKent Overstreet bool "bcachefs debugging" 571c6fdbd8SKent Overstreet depends on BCACHEFS_FS 581c6fdbd8SKent Overstreet help 591c6fdbd8SKent Overstreet Enables many extra debugging checks and assertions. 601c6fdbd8SKent Overstreet 611c6fdbd8SKent Overstreet The resulting code will be significantly slower than normal; you 621c6fdbd8SKent Overstreet probably shouldn't select this option unless you're a developer. 631c6fdbd8SKent Overstreet 64*9cf6b84bSKent Overstreetconfig BCACHEFS_INJECT_TRANSACTION_RESTARTS 65*9cf6b84bSKent Overstreet bool "Randomly inject transaction restarts" 66*9cf6b84bSKent Overstreet depends on BCACHEFS_DEBUG 67*9cf6b84bSKent Overstreet help 68*9cf6b84bSKent Overstreet Randomly inject transaction restarts in a few core paths - may have a 69*9cf6b84bSKent Overstreet significant performance penalty 70*9cf6b84bSKent Overstreet 711c6fdbd8SKent Overstreetconfig BCACHEFS_TESTS 721c6fdbd8SKent Overstreet bool "bcachefs unit and performance tests" 731c6fdbd8SKent Overstreet depends on BCACHEFS_FS 741c6fdbd8SKent Overstreet help 751c6fdbd8SKent Overstreet Include some unit and performance tests for the core btree code 761c6fdbd8SKent Overstreet 77c807ca95SDaniel Hillconfig BCACHEFS_LOCK_TIME_STATS 78c807ca95SDaniel Hill bool "bcachefs lock time statistics" 79c807ca95SDaniel Hill depends on BCACHEFS_FS 80c807ca95SDaniel Hill help 81c807ca95SDaniel Hill Expose statistics for how long we held a lock in debugfs 82c807ca95SDaniel Hill 831c6fdbd8SKent Overstreetconfig BCACHEFS_NO_LATENCY_ACCT 841c6fdbd8SKent Overstreet bool "disable latency accounting and time stats" 851c6fdbd8SKent Overstreet depends on BCACHEFS_FS 861c6fdbd8SKent Overstreet help 871c6fdbd8SKent Overstreet This disables device latency tracking and time stats, only for performance testing 8892095781SDaniel Hill 8901117332SKent Overstreetconfig BCACHEFS_SIX_OPTIMISTIC_SPIN 9001117332SKent Overstreet bool "Optimistic spinning for six locks" 9101117332SKent Overstreet depends on BCACHEFS_FS 9201117332SKent Overstreet depends on SMP 9301117332SKent Overstreet default y 9401117332SKent Overstreet help 9501117332SKent Overstreet Instead of immediately sleeping when attempting to take a six lock that 9601117332SKent Overstreet is held by another thread, spin for a short while, as long as the 9701117332SKent Overstreet thread owning the lock is running. 9801117332SKent Overstreet 9932ed4a62SKent Overstreetconfig BCACHEFS_PATH_TRACEPOINTS 10032ed4a62SKent Overstreet bool "Extra btree_path tracepoints" 101d36b3e74SGeert Uytterhoeven depends on BCACHEFS_FS && TRACING 10232ed4a62SKent Overstreet help 10332ed4a62SKent Overstreet Enable extra tracepoints for debugging btree_path operations; we don't 10432ed4a62SKent Overstreet normally want these enabled because they happen at very high rates. 10532ed4a62SKent Overstreet 10692095781SDaniel Hillconfig MEAN_AND_VARIANCE_UNIT_TEST 10792095781SDaniel Hill tristate "mean_and_variance unit tests" if !KUNIT_ALL_TESTS 10892095781SDaniel Hill depends on KUNIT 1094db8ac86SKent Overstreet depends on BCACHEFS_FS 11092095781SDaniel Hill default KUNIT_ALL_TESTS 11192095781SDaniel Hill help 11292095781SDaniel Hill This option enables the kunit tests for mean_and_variance module. 11392095781SDaniel Hill If unsure, say N. 114