summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/Kconfig
blob: 7d3ac9556c9867d479ae9eaa42fac6d8ac039467 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
config BCACHEFS_FS
	tristate "bcachefs filesystem support (EXPERIMENTAL)"
	depends on BLOCK
	select EXPORTFS
	select CLOSURES
	select LIBCRC32C
	select CRC64
	select FS_POSIX_ACL
	select LZ4_COMPRESS
	select LZ4_DECOMPRESS
	select LZ4HC_COMPRESS
	select LZ4HC_DECOMPRESS
	select ZLIB_DEFLATE
	select ZLIB_INFLATE
	select ZSTD_COMPRESS
	select ZSTD_DECOMPRESS
	select CRYPTO_SHA256
	select CRYPTO_CHACHA20
	select CRYPTO_POLY1305
	select KEYS
	select RAID6_PQ
	select XOR_BLOCKS
	select XXHASH
	select SRCU
	select SYMBOLIC_ERRNAME
	help
	The bcachefs filesystem - a modern, copy on write filesystem, with
	support for multiple devices, compression, checksumming, etc.

config BCACHEFS_QUOTA
	bool "bcachefs quota support"
	depends on BCACHEFS_FS
	select QUOTACTL

config BCACHEFS_ERASURE_CODING
	bool "bcachefs erasure coding (RAID5/6) support (EXPERIMENTAL)"
	depends on BCACHEFS_FS
	select QUOTACTL
	help
	This enables the "erasure_code" filesysystem and inode option, which
	organizes data into reed-solomon stripes instead of ordinary
	replication.

	WARNING: this feature is still undergoing on disk format changes, and
	should only be enabled for testing purposes.

config BCACHEFS_POSIX_ACL
	bool "bcachefs POSIX ACL support"
	depends on BCACHEFS_FS
	select FS_POSIX_ACL

config BCACHEFS_DEBUG_TRANSACTIONS
	bool "bcachefs runtime info"
	depends on BCACHEFS_FS
	help
	This makes the list of running btree transactions available in debugfs.

	This is a highly useful debugging feature but does add a small amount of overhead.

config BCACHEFS_DEBUG
	bool "bcachefs debugging"
	depends on BCACHEFS_FS
	help
	Enables many extra debugging checks and assertions.

	The resulting code will be significantly slower than normal; you
	probably shouldn't select this option unless you're a developer.

config BCACHEFS_TESTS
	bool "bcachefs unit and performance tests"
	depends on BCACHEFS_FS
	help
	Include some unit and performance tests for the core btree code

config BCACHEFS_LOCK_TIME_STATS
       bool "bcachefs lock time statistics"
       depends on BCACHEFS_FS
       help
       Expose statistics for how long we held a lock in debugfs

config BCACHEFS_NO_LATENCY_ACCT
	bool "disable latency accounting and time stats"
	depends on BCACHEFS_FS
	help
	This disables device latency tracking and time stats, only for performance testing

config BCACHEFS_SIX_OPTIMISTIC_SPIN
	bool "Optimistic spinning for six locks"
	depends on BCACHEFS_FS
	depends on SMP
	default y
	help
	Instead of immediately sleeping when attempting to take a six lock that
	is held by another thread, spin for a short while, as long as the
	thread owning the lock is running.

config MEAN_AND_VARIANCE_UNIT_TEST
	tristate "mean_and_variance unit tests" if !KUNIT_ALL_TESTS
	depends on KUNIT
	depends on BCACHEFS_FS
	default KUNIT_ALL_TESTS
	help
	  This option enables the kunit tests for mean_and_variance module.
	  If unsure, say N.