xref: /linux/fs/bcachefs/Kconfig (revision d36b3e74b65f4ec68a38bdb717d94b32a81a355f)
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
181c6fdbd8SKent Overstreet	select CRYPTO_SHA256
191c6fdbd8SKent Overstreet	select CRYPTO_CHACHA20
201c6fdbd8SKent Overstreet	select CRYPTO_POLY1305
211c6fdbd8SKent Overstreet	select KEYS
22cd575ddfSKent Overstreet	select RAID6_PQ
23cd575ddfSKent Overstreet	select XOR_BLOCKS
2441e63382Sjpsollie	select XXHASH
25876c7af3SKent Overstreet	select SRCU
26615f867cSKent Overstreet	select SYMBOLIC_ERRNAME
2792a8b224SKuan-Wei Chiu	select MIN_HEAP
281c6fdbd8SKent Overstreet	help
291c6fdbd8SKent Overstreet	The bcachefs filesystem - a modern, copy on write filesystem, with
301c6fdbd8SKent Overstreet	support for multiple devices, compression, checksumming, etc.
311c6fdbd8SKent Overstreet
321c6fdbd8SKent Overstreetconfig BCACHEFS_QUOTA
331c6fdbd8SKent Overstreet	bool "bcachefs quota support"
341c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
351c6fdbd8SKent Overstreet	select QUOTACTL
361c6fdbd8SKent Overstreet
376201d91eSKent Overstreetconfig BCACHEFS_ERASURE_CODING
386201d91eSKent Overstreet	bool "bcachefs erasure coding (RAID5/6) support (EXPERIMENTAL)"
396201d91eSKent Overstreet	depends on BCACHEFS_FS
406201d91eSKent Overstreet	select QUOTACTL
416201d91eSKent Overstreet	help
426201d91eSKent Overstreet	This enables the "erasure_code" filesysystem and inode option, which
436201d91eSKent Overstreet	organizes data into reed-solomon stripes instead of ordinary
446201d91eSKent Overstreet	replication.
456201d91eSKent Overstreet
466201d91eSKent Overstreet	WARNING: this feature is still undergoing on disk format changes, and
476201d91eSKent Overstreet	should only be enabled for testing purposes.
486201d91eSKent Overstreet
491c6fdbd8SKent Overstreetconfig BCACHEFS_POSIX_ACL
501c6fdbd8SKent Overstreet	bool "bcachefs POSIX ACL support"
511c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
521c6fdbd8SKent Overstreet	select FS_POSIX_ACL
531c6fdbd8SKent Overstreet
541c6fdbd8SKent Overstreetconfig BCACHEFS_DEBUG
551c6fdbd8SKent Overstreet	bool "bcachefs debugging"
561c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
571c6fdbd8SKent Overstreet	help
581c6fdbd8SKent Overstreet	Enables many extra debugging checks and assertions.
591c6fdbd8SKent Overstreet
601c6fdbd8SKent Overstreet	The resulting code will be significantly slower than normal; you
611c6fdbd8SKent Overstreet	probably shouldn't select this option unless you're a developer.
621c6fdbd8SKent Overstreet
631c6fdbd8SKent Overstreetconfig BCACHEFS_TESTS
641c6fdbd8SKent Overstreet	bool "bcachefs unit and performance tests"
651c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
661c6fdbd8SKent Overstreet	help
671c6fdbd8SKent Overstreet	Include some unit and performance tests for the core btree code
681c6fdbd8SKent Overstreet
69c807ca95SDaniel Hillconfig BCACHEFS_LOCK_TIME_STATS
70c807ca95SDaniel Hill       bool "bcachefs lock time statistics"
71c807ca95SDaniel Hill       depends on BCACHEFS_FS
72c807ca95SDaniel Hill       help
73c807ca95SDaniel Hill       Expose statistics for how long we held a lock in debugfs
74c807ca95SDaniel Hill
751c6fdbd8SKent Overstreetconfig BCACHEFS_NO_LATENCY_ACCT
761c6fdbd8SKent Overstreet	bool "disable latency accounting and time stats"
771c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
781c6fdbd8SKent Overstreet	help
791c6fdbd8SKent Overstreet	This disables device latency tracking and time stats, only for performance testing
8092095781SDaniel Hill
8101117332SKent Overstreetconfig BCACHEFS_SIX_OPTIMISTIC_SPIN
8201117332SKent Overstreet	bool "Optimistic spinning for six locks"
8301117332SKent Overstreet	depends on BCACHEFS_FS
8401117332SKent Overstreet	depends on SMP
8501117332SKent Overstreet	default y
8601117332SKent Overstreet	help
8701117332SKent Overstreet	Instead of immediately sleeping when attempting to take a six lock that
8801117332SKent Overstreet	is held by another thread, spin for a short while, as long as the
8901117332SKent Overstreet	thread owning the lock is running.
9001117332SKent Overstreet
9132ed4a62SKent Overstreetconfig BCACHEFS_PATH_TRACEPOINTS
9232ed4a62SKent Overstreet	bool "Extra btree_path tracepoints"
93*d36b3e74SGeert Uytterhoeven	depends on BCACHEFS_FS && TRACING
9432ed4a62SKent Overstreet	help
9532ed4a62SKent Overstreet	Enable extra tracepoints for debugging btree_path operations; we don't
9632ed4a62SKent Overstreet	normally want these enabled because they happen at very high rates.
9732ed4a62SKent Overstreet
9892095781SDaniel Hillconfig MEAN_AND_VARIANCE_UNIT_TEST
9992095781SDaniel Hill	tristate "mean_and_variance unit tests" if !KUNIT_ALL_TESTS
10092095781SDaniel Hill	depends on KUNIT
1014db8ac86SKent Overstreet	depends on BCACHEFS_FS
10292095781SDaniel Hill	default KUNIT_ALL_TESTS
10392095781SDaniel Hill	help
10492095781SDaniel Hill	  This option enables the kunit tests for mean_and_variance module.
10592095781SDaniel Hill	  If unsure, say N.
106