xref: /linux/fs/bcachefs/Kconfig (revision 6201d91ee32cf92e9bcca69a3cf73461827b5ce5)
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
271c6fdbd8SKent Overstreet	help
281c6fdbd8SKent Overstreet	The bcachefs filesystem - a modern, copy on write filesystem, with
291c6fdbd8SKent Overstreet	support for multiple devices, compression, checksumming, etc.
301c6fdbd8SKent Overstreet
311c6fdbd8SKent Overstreetconfig BCACHEFS_QUOTA
321c6fdbd8SKent Overstreet	bool "bcachefs quota support"
331c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
341c6fdbd8SKent Overstreet	select QUOTACTL
351c6fdbd8SKent Overstreet
36*6201d91eSKent Overstreetconfig BCACHEFS_ERASURE_CODING
37*6201d91eSKent Overstreet	bool "bcachefs erasure coding (RAID5/6) support (EXPERIMENTAL)"
38*6201d91eSKent Overstreet	depends on BCACHEFS_FS
39*6201d91eSKent Overstreet	select QUOTACTL
40*6201d91eSKent Overstreet	help
41*6201d91eSKent Overstreet	This enables the "erasure_code" filesysystem and inode option, which
42*6201d91eSKent Overstreet	organizes data into reed-solomon stripes instead of ordinary
43*6201d91eSKent Overstreet	replication.
44*6201d91eSKent Overstreet
45*6201d91eSKent Overstreet	WARNING: this feature is still undergoing on disk format changes, and
46*6201d91eSKent Overstreet	should only be enabled for testing purposes.
47*6201d91eSKent Overstreet
481c6fdbd8SKent Overstreetconfig BCACHEFS_POSIX_ACL
491c6fdbd8SKent Overstreet	bool "bcachefs POSIX ACL support"
501c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
511c6fdbd8SKent Overstreet	select FS_POSIX_ACL
521c6fdbd8SKent Overstreet
53b84d42c3SKent Overstreetconfig BCACHEFS_DEBUG_TRANSACTIONS
54b84d42c3SKent Overstreet	bool "bcachefs runtime info"
55b84d42c3SKent Overstreet	depends on BCACHEFS_FS
56b84d42c3SKent Overstreet	help
57b84d42c3SKent Overstreet	This makes the list of running btree transactions available in debugfs.
58b84d42c3SKent Overstreet
59b84d42c3SKent Overstreet	This is a highly useful debugging feature but does add a small amount of overhead.
60b84d42c3SKent Overstreet
611c6fdbd8SKent Overstreetconfig BCACHEFS_DEBUG
621c6fdbd8SKent Overstreet	bool "bcachefs debugging"
631c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
641c6fdbd8SKent Overstreet	help
651c6fdbd8SKent Overstreet	Enables many extra debugging checks and assertions.
661c6fdbd8SKent Overstreet
671c6fdbd8SKent Overstreet	The resulting code will be significantly slower than normal; you
681c6fdbd8SKent Overstreet	probably shouldn't select this option unless you're a developer.
691c6fdbd8SKent Overstreet
701c6fdbd8SKent Overstreetconfig BCACHEFS_TESTS
711c6fdbd8SKent Overstreet	bool "bcachefs unit and performance tests"
721c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
731c6fdbd8SKent Overstreet	help
741c6fdbd8SKent Overstreet	Include some unit and performance tests for the core btree code
751c6fdbd8SKent Overstreet
76c807ca95SDaniel Hillconfig BCACHEFS_LOCK_TIME_STATS
77c807ca95SDaniel Hill       bool "bcachefs lock time statistics"
78c807ca95SDaniel Hill       depends on BCACHEFS_FS
79c807ca95SDaniel Hill       help
80c807ca95SDaniel Hill       Expose statistics for how long we held a lock in debugfs
81c807ca95SDaniel Hill
821c6fdbd8SKent Overstreetconfig BCACHEFS_NO_LATENCY_ACCT
831c6fdbd8SKent Overstreet	bool "disable latency accounting and time stats"
841c6fdbd8SKent Overstreet	depends on BCACHEFS_FS
851c6fdbd8SKent Overstreet	help
861c6fdbd8SKent Overstreet	This disables device latency tracking and time stats, only for performance testing
8792095781SDaniel Hill
8892095781SDaniel Hillconfig MEAN_AND_VARIANCE_UNIT_TEST
8992095781SDaniel Hill	tristate "mean_and_variance unit tests" if !KUNIT_ALL_TESTS
9092095781SDaniel Hill	depends on KUNIT
914db8ac86SKent Overstreet	depends on BCACHEFS_FS
9292095781SDaniel Hill	default KUNIT_ALL_TESTS
9392095781SDaniel Hill	help
9492095781SDaniel Hill	  This option enables the kunit tests for mean_and_variance module.
9592095781SDaniel Hill	  If unsure, say N.
96