xref: /linux/fs/bcachefs/Kconfig (revision cc354fa7f0160a96896a3b8d7f298a036e3b8602)
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
18*cc354fa7SEric 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
641c6fdbd8SKent Overstreetconfig BCACHEFS_TESTS
651c6fdbd8SKent Overstreet	bool "bcachefs unit and performance tests"
661c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
671c6fdbd8SKent Overstreet	help
681c6fdbd8SKent Overstreet	Include some unit and performance tests for the core btree code
691c6fdbd8SKent Overstreet
70c807ca95SDaniel Hillconfig BCACHEFS_LOCK_TIME_STATS
71c807ca95SDaniel Hill       bool "bcachefs lock time statistics"
72c807ca95SDaniel Hill       depends on BCACHEFS_FS
73c807ca95SDaniel Hill       help
74c807ca95SDaniel Hill       Expose statistics for how long we held a lock in debugfs
75c807ca95SDaniel Hill
761c6fdbd8SKent Overstreetconfig BCACHEFS_NO_LATENCY_ACCT
771c6fdbd8SKent Overstreet	bool "disable latency accounting and time stats"
781c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
791c6fdbd8SKent Overstreet	help
801c6fdbd8SKent Overstreet	This disables device latency tracking and time stats, only for performance testing
8192095781SDaniel Hill
8201117332SKent Overstreetconfig BCACHEFS_SIX_OPTIMISTIC_SPIN
8301117332SKent Overstreet	bool "Optimistic spinning for six locks"
8401117332SKent Overstreet	depends on BCACHEFS_FS
8501117332SKent Overstreet	depends on SMP
8601117332SKent Overstreet	default y
8701117332SKent Overstreet	help
8801117332SKent Overstreet	Instead of immediately sleeping when attempting to take a six lock that
8901117332SKent Overstreet	is held by another thread, spin for a short while, as long as the
9001117332SKent Overstreet	thread owning the lock is running.
9101117332SKent Overstreet
9232ed4a62SKent Overstreetconfig BCACHEFS_PATH_TRACEPOINTS
9332ed4a62SKent Overstreet	bool "Extra btree_path tracepoints"
9432ed4a62SKent Overstreet	depends on BCACHEFS_FS
9532ed4a62SKent Overstreet	help
9632ed4a62SKent Overstreet	Enable extra tracepoints for debugging btree_path operations; we don't
9732ed4a62SKent Overstreet	normally want these enabled because they happen at very high rates.
9832ed4a62SKent Overstreet
9992095781SDaniel Hillconfig MEAN_AND_VARIANCE_UNIT_TEST
10092095781SDaniel Hill	tristate "mean_and_variance unit tests" if !KUNIT_ALL_TESTS
10192095781SDaniel Hill	depends on KUNIT
1024db8ac86SKent Overstreet	depends on BCACHEFS_FS
10392095781SDaniel Hill	default KUNIT_ALL_TESTS
10492095781SDaniel Hill	help
10592095781SDaniel Hill	  This option enables the kunit tests for mean_and_variance module.
10692095781SDaniel Hill	  If unsure, say N.
107