xref: /linux/fs/bcachefs/Kconfig (revision 79ac11393328fb1717d17c12e3c0eef0e9fa0647)
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_SHA256
19	select CRYPTO_CHACHA20
20	select CRYPTO_POLY1305
21	select KEYS
22	select RAID6_PQ
23	select XOR_BLOCKS
24	select XXHASH
25	select SRCU
26	select SYMBOLIC_ERRNAME
27	help
28	The bcachefs filesystem - a modern, copy on write filesystem, with
29	support for multiple devices, compression, checksumming, etc.
30
31config BCACHEFS_QUOTA
32	bool "bcachefs quota support"
33	depends on BCACHEFS_FS
34	select QUOTACTL
35
36config BCACHEFS_ERASURE_CODING
37	bool "bcachefs erasure coding (RAID5/6) support (EXPERIMENTAL)"
38	depends on BCACHEFS_FS
39	select QUOTACTL
40	help
41	This enables the "erasure_code" filesysystem and inode option, which
42	organizes data into reed-solomon stripes instead of ordinary
43	replication.
44
45	WARNING: this feature is still undergoing on disk format changes, and
46	should only be enabled for testing purposes.
47
48config BCACHEFS_POSIX_ACL
49	bool "bcachefs POSIX ACL support"
50	depends on BCACHEFS_FS
51	select FS_POSIX_ACL
52
53config BCACHEFS_DEBUG_TRANSACTIONS
54	bool "bcachefs runtime info"
55	depends on BCACHEFS_FS
56	help
57	This makes the list of running btree transactions available in debugfs.
58
59	This is a highly useful debugging feature but does add a small amount of overhead.
60
61config BCACHEFS_DEBUG
62	bool "bcachefs debugging"
63	depends on BCACHEFS_FS
64	help
65	Enables many extra debugging checks and assertions.
66
67	The resulting code will be significantly slower than normal; you
68	probably shouldn't select this option unless you're a developer.
69
70config BCACHEFS_TESTS
71	bool "bcachefs unit and performance tests"
72	depends on BCACHEFS_FS
73	help
74	Include some unit and performance tests for the core btree code
75
76config BCACHEFS_LOCK_TIME_STATS
77       bool "bcachefs lock time statistics"
78       depends on BCACHEFS_FS
79       help
80       Expose statistics for how long we held a lock in debugfs
81
82config BCACHEFS_NO_LATENCY_ACCT
83	bool "disable latency accounting and time stats"
84	depends on BCACHEFS_FS
85	help
86	This disables device latency tracking and time stats, only for performance testing
87
88config MEAN_AND_VARIANCE_UNIT_TEST
89	tristate "mean_and_variance unit tests" if !KUNIT_ALL_TESTS
90	depends on KUNIT
91	depends on BCACHEFS_FS
92	default KUNIT_ALL_TESTS
93	help
94	  This option enables the kunit tests for mean_and_variance module.
95	  If unsure, say N.
96