Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1da177e4 LT |
2 | # |
3 | # Block device driver configuration | |
4 | # | |
5 | ||
afd44034 | 6 | menuconfig MD |
1da177e4 | 7 | bool "Multiple devices driver support (RAID and LVM)" |
afd44034 | 8 | depends on BLOCK |
1da177e4 LT |
9 | help |
10 | Support multiple physical spindles through a single logical device. | |
11 | Required for RAID and logical volume management. | |
12 | ||
afd44034 JE |
13 | if MD |
14 | ||
1da177e4 LT |
15 | config BLK_DEV_MD |
16 | tristate "RAID support" | |
c66fd019 | 17 | select BLOCK_HOLDER_DEPRECATED if SYSFS |
925c86a1 | 18 | select BUFFER_HEAD |
6c0f5898 N |
19 | # BLOCK_LEGACY_AUTOLOAD requirement should be removed |
20 | # after relevant mdadm enhancements - to make "names=yes" | |
21 | # the default - are widely available. | |
22 | select BLOCK_LEGACY_AUTOLOAD | |
a7f7f624 | 23 | help |
1da177e4 LT |
24 | This driver lets you combine several hard disk partitions into one |
25 | logical block device. This can be used to simply append one | |
26 | partition to another one or to combine several redundant hard disks | |
27 | into a RAID1/4/5 device so as to provide protection against hard | |
28 | disk failures. This is called "Software RAID" since the combining of | |
29 | the partitions is done by the kernel. "Hardware RAID" means that the | |
30 | combining is done by a dedicated controller; if you have such a | |
31 | controller, you do not need to say Y here. | |
32 | ||
33 | More information about Software RAID on Linux is contained in the | |
34 | Software RAID mini-HOWTO, available from | |
6f3bc22b | 35 | <https://www.tldp.org/docs.html#howto>. There you will also learn |
1da177e4 LT |
36 | where to get the supporting user space utilities raidtools. |
37 | ||
38 | If unsure, say N. | |
39 | ||
a364092a AV |
40 | config MD_AUTODETECT |
41 | bool "Autodetect RAID arrays during kernel boot" | |
ce52aebd | 42 | depends on BLK_DEV_MD=y |
a364092a | 43 | default y |
a7f7f624 | 44 | help |
a364092a | 45 | If you say Y here, then the kernel will try to autodetect raid |
44363322 | 46 | arrays as part of its boot process. |
a364092a | 47 | |
44363322 | 48 | If you don't use raid and say Y, this autodetection can cause |
a364092a AV |
49 | a several-second delay in the boot time due to various |
50 | synchronisation steps that are part of this step. | |
51 | ||
52 | If unsure, say Y. | |
53 | ||
a34d4ef8 | 54 | config MD_BITMAP_FILE |
0ae1c9d3 | 55 | bool "MD bitmap file support (deprecated)" |
a34d4ef8 CH |
56 | default y |
57 | help | |
58 | If you say Y here, support for write intent bitmaps in files on an | |
59 | external file system is enabled. This is an alternative to the internal | |
60 | bitmaps near the MD superblock, and very problematic code that abuses | |
61 | various kernel APIs and can only work with files on a file system not | |
62 | actually sitting on the MD device. | |
63 | ||
1da177e4 | 64 | config MD_LINEAR |
608f52e3 | 65 | tristate "Linear (append) mode (deprecated)" |
1da177e4 | 66 | depends on BLK_DEV_MD |
a7f7f624 | 67 | help |
1da177e4 LT |
68 | If you say Y here, then your multiple devices driver will be able to |
69 | use the so-called linear mode, i.e. it will combine the hard disk | |
70 | partitions by simply appending one to the other. | |
71 | ||
72 | To compile this as a module, choose M here: the module | |
73 | will be called linear. | |
74 | ||
75 | If unsure, say Y. | |
76 | ||
77 | config MD_RAID0 | |
78 | tristate "RAID-0 (striping) mode" | |
79 | depends on BLK_DEV_MD | |
a7f7f624 | 80 | help |
1da177e4 LT |
81 | If you say Y here, then your multiple devices driver will be able to |
82 | use the so-called raid0 mode, i.e. it will combine the hard disk | |
83 | partitions into one logical device in such a fashion as to fill them | |
84 | up evenly, one chunk here and one chunk there. This will increase | |
85 | the throughput rate if the partitions reside on distinct disks. | |
86 | ||
87 | Information about Software RAID on Linux is contained in the | |
88 | Software-RAID mini-HOWTO, available from | |
6f3bc22b | 89 | <https://www.tldp.org/docs.html#howto>. There you will also |
1da177e4 LT |
90 | learn where to get the supporting user space utilities raidtools. |
91 | ||
92 | To compile this as a module, choose M here: the module | |
93 | will be called raid0. | |
94 | ||
95 | If unsure, say Y. | |
96 | ||
97 | config MD_RAID1 | |
98 | tristate "RAID-1 (mirroring) mode" | |
99 | depends on BLK_DEV_MD | |
a7f7f624 | 100 | help |
1da177e4 LT |
101 | A RAID-1 set consists of several disk drives which are exact copies |
102 | of each other. In the event of a mirror failure, the RAID driver | |
103 | will continue to use the operational mirrors in the set, providing | |
104 | an error free MD (multiple device) to the higher levels of the | |
105 | kernel. In a set with N drives, the available space is the capacity | |
106 | of a single drive, and the set protects against a failure of (N - 1) | |
107 | drives. | |
108 | ||
109 | Information about Software RAID on Linux is contained in the | |
110 | Software-RAID mini-HOWTO, available from | |
6f3bc22b | 111 | <https://www.tldp.org/docs.html#howto>. There you will also |
1da177e4 LT |
112 | learn where to get the supporting user space utilities raidtools. |
113 | ||
114 | If you want to use such a RAID-1 set, say Y. To compile this code | |
115 | as a module, choose M here: the module will be called raid1. | |
116 | ||
117 | If unsure, say Y. | |
118 | ||
119 | config MD_RAID10 | |
08fb730c N |
120 | tristate "RAID-10 (mirrored striping) mode" |
121 | depends on BLK_DEV_MD | |
a7f7f624 | 122 | help |
1da177e4 | 123 | RAID-10 provides a combination of striping (RAID-0) and |
4d2554d0 | 124 | mirroring (RAID-1) with easier configuration and more flexible |
1da177e4 LT |
125 | layout. |
126 | Unlike RAID-0, but like RAID-1, RAID-10 requires all devices to | |
127 | be the same size (or at least, only as much as the smallest device | |
128 | will be used). | |
129 | RAID-10 provides a variety of layouts that provide different levels | |
130 | of redundancy and performance. | |
131 | ||
132 | RAID-10 requires mdadm-1.7.0 or later, available at: | |
133 | ||
4f6cce39 | 134 | https://www.kernel.org/pub/linux/utils/raid/mdadm/ |
1da177e4 LT |
135 | |
136 | If unsure, say Y. | |
137 | ||
16a53ecc N |
138 | config MD_RAID456 |
139 | tristate "RAID-4/RAID-5/RAID-6 mode" | |
1da177e4 | 140 | depends on BLK_DEV_MD |
f5e70d0f | 141 | select RAID6_PQ |
14f09e2f | 142 | select LIBCRC32C |
9bc89cd8 DW |
143 | select ASYNC_MEMCPY |
144 | select ASYNC_XOR | |
ac6b53b6 DW |
145 | select ASYNC_PQ |
146 | select ASYNC_RAID6_RECOV | |
a7f7f624 | 147 | help |
1da177e4 LT |
148 | A RAID-5 set of N drives with a capacity of C MB per drive provides |
149 | the capacity of C * (N - 1) MB, and protects against a failure | |
150 | of a single drive. For a given sector (row) number, (N - 1) drives | |
151 | contain data sectors, and one drive contains the parity protection. | |
152 | For a RAID-4 set, the parity blocks are present on a single drive, | |
153 | while a RAID-5 set distributes the parity across the drives in one | |
154 | of the available parity distribution methods. | |
155 | ||
16a53ecc N |
156 | A RAID-6 set of N drives with a capacity of C MB per drive |
157 | provides the capacity of C * (N - 2) MB, and protects | |
158 | against a failure of any two drives. For a given sector | |
159 | (row) number, (N - 2) drives contain data sectors, and two | |
160 | drives contains two independent redundancy syndromes. Like | |
161 | RAID-5, RAID-6 distributes the syndromes across the drives | |
162 | in one of the available parity distribution methods. | |
163 | ||
1da177e4 LT |
164 | Information about Software RAID on Linux is contained in the |
165 | Software-RAID mini-HOWTO, available from | |
6f3bc22b | 166 | <https://www.tldp.org/docs.html#howto>. There you will also |
1da177e4 LT |
167 | learn where to get the supporting user space utilities raidtools. |
168 | ||
16a53ecc | 169 | If you want to use such a RAID-4/RAID-5/RAID-6 set, say Y. To |
1da177e4 | 170 | compile this code as a module, choose M here: the module |
16a53ecc | 171 | will be called raid456. |
1da177e4 LT |
172 | |
173 | If unsure, say Y. | |
174 | ||
1da177e4 | 175 | config MD_MULTIPATH |
608f52e3 | 176 | tristate "Multipath I/O support (deprecated)" |
1da177e4 LT |
177 | depends on BLK_DEV_MD |
178 | help | |
93bd89a6 N |
179 | MD_MULTIPATH provides a simple multi-path personality for use |
180 | the MD framework. It is not under active development. New | |
181 | projects should consider using DM_MULTIPATH which has more | |
182 | features and more testing. | |
1da177e4 LT |
183 | |
184 | If unsure, say N. | |
185 | ||
186 | config MD_FAULTY | |
608f52e3 | 187 | tristate "Faulty test module for MD (deprecated)" |
1da177e4 LT |
188 | depends on BLK_DEV_MD |
189 | help | |
190 | The "faulty" module allows for a block device that occasionally returns | |
191 | read or write errors. It is useful for testing. | |
192 | ||
193 | In unsure, say N. | |
194 | ||
8e854e9c GR |
195 | |
196 | config MD_CLUSTER | |
f0e230ad | 197 | tristate "Cluster Support for MD" |
8e854e9c GR |
198 | depends on BLK_DEV_MD |
199 | depends on DLM | |
200 | default n | |
a7f7f624 | 201 | help |
8e854e9c GR |
202 | Clustering support for MD devices. This enables locking and |
203 | synchronization across multiple systems on the cluster, so all | |
204 | nodes in the cluster can access the MD devices simultaneously. | |
205 | ||
206 | This brings the redundancy (and uptime) of RAID levels across the | |
f0e230ad GJ |
207 | nodes of the cluster. Currently, it can work with raid1 and raid10 |
208 | (limited support). | |
8e854e9c GR |
209 | |
210 | If unsure, say N. | |
211 | ||
cafe5635 KO |
212 | source "drivers/md/bcache/Kconfig" |
213 | ||
2995fa78 | 214 | config BLK_DEV_DM_BUILTIN |
6341e62b | 215 | bool |
2995fa78 | 216 | |
1da177e4 LT |
217 | config BLK_DEV_DM |
218 | tristate "Device mapper support" | |
c66fd019 | 219 | select BLOCK_HOLDER_DEPRECATED if SYSFS |
2995fa78 | 220 | select BLK_DEV_DM_BUILTIN |
248c7933 | 221 | select BLK_MQ_STACKING |
976431b0 | 222 | depends on DAX || DAX=n |
a7f7f624 | 223 | help |
1da177e4 LT |
224 | Device-mapper is a low level volume manager. It works by allowing |
225 | people to specify mappings for ranges of logical sectors. Various | |
226 | mapping types are available, in addition people may write their own | |
227 | modules containing custom mappings if they wish. | |
228 | ||
229 | Higher level volume managers such as LVM2 use this driver. | |
230 | ||
231 | To compile this as a module, choose M here: the module will be | |
232 | called dm-mod. | |
233 | ||
234 | If unsure, say N. | |
235 | ||
cc109201 | 236 | config DM_DEBUG |
6341e62b | 237 | bool "Device mapper debugging support" |
0149e57f | 238 | depends on BLK_DEV_DM |
a7f7f624 | 239 | help |
cc109201 BR |
240 | Enable this for messages that may help debug device-mapper problems. |
241 | ||
242 | If unsure, say N. | |
243 | ||
95d402f0 MP |
244 | config DM_BUFIO |
245 | tristate | |
d57916a0 | 246 | depends on BLK_DEV_DM |
a7f7f624 | 247 | help |
95d402f0 MP |
248 | This interface allows you to do buffered I/O on a device and acts |
249 | as a cache, holding recently-read blocks in memory and performing | |
250 | delayed writes. | |
251 | ||
2e8ed711 JT |
252 | config DM_DEBUG_BLOCK_MANAGER_LOCKING |
253 | bool "Block manager locking" | |
254 | depends on DM_BUFIO | |
a7f7f624 | 255 | help |
2e8ed711 JT |
256 | Block manager locking can catch various metadata corruption issues. |
257 | ||
258 | If unsure, say N. | |
259 | ||
86bad0c7 MP |
260 | config DM_DEBUG_BLOCK_STACK_TRACING |
261 | bool "Keep stack trace of persistent data block lock holders" | |
2e8ed711 | 262 | depends on STACKTRACE_SUPPORT && DM_DEBUG_BLOCK_MANAGER_LOCKING |
86bad0c7 | 263 | select STACKTRACE |
a7f7f624 | 264 | help |
86bad0c7 MP |
265 | Enable this for messages that may help debug problems with the |
266 | block manager locking used by thin provisioning and caching. | |
267 | ||
268 | If unsure, say N. | |
3f068040 | 269 | |
4f81a417 MS |
270 | config DM_BIO_PRISON |
271 | tristate | |
d57916a0 | 272 | depends on BLK_DEV_DM |
a7f7f624 | 273 | help |
4f81a417 MS |
274 | Some bio locking schemes used by other device-mapper targets |
275 | including thin provisioning. | |
276 | ||
991d9fa0 JT |
277 | source "drivers/md/persistent-data/Kconfig" |
278 | ||
18a5bf27 SB |
279 | config DM_UNSTRIPED |
280 | tristate "Unstriped target" | |
281 | depends on BLK_DEV_DM | |
a7f7f624 | 282 | help |
18a5bf27 SB |
283 | Unstripes I/O so it is issued solely on a single drive in a HW |
284 | RAID0 or dm-striped target. | |
285 | ||
1da177e4 LT |
286 | config DM_CRYPT |
287 | tristate "Crypt target support" | |
0149e57f | 288 | depends on BLK_DEV_DM |
27f5411a | 289 | depends on (ENCRYPTED_KEYS || ENCRYPTED_KEYS=n) |
363880c4 | 290 | depends on (TRUSTED_KEYS || TRUSTED_KEYS=n) |
1da177e4 | 291 | select CRYPTO |
3263263f | 292 | select CRYPTO_CBC |
a1a262b6 | 293 | select CRYPTO_ESSIV |
a7f7f624 | 294 | help |
1da177e4 LT |
295 | This device-mapper target allows you to create a device that |
296 | transparently encrypts the data on it. You'll need to activate | |
297 | the ciphers you're going to use in the cryptoapi configuration. | |
298 | ||
cf352487 | 299 | For further information on dm-crypt and userspace tools see: |
6ed443c0 | 300 | <https://gitlab.com/cryptsetup/cryptsetup/wikis/DMCrypt> |
1da177e4 LT |
301 | |
302 | To compile this code as a module, choose M here: the module will | |
303 | be called dm-crypt. | |
304 | ||
305 | If unsure, say N. | |
306 | ||
307 | config DM_SNAPSHOT | |
0149e57f AK |
308 | tristate "Snapshot target" |
309 | depends on BLK_DEV_DM | |
55494bf2 | 310 | select DM_BUFIO |
a7f7f624 | 311 | help |
44363322 | 312 | Allow volume managers to take writable snapshots of a device. |
1da177e4 | 313 | |
991d9fa0 | 314 | config DM_THIN_PROVISIONING |
d57916a0 AK |
315 | tristate "Thin provisioning target" |
316 | depends on BLK_DEV_DM | |
991d9fa0 | 317 | select DM_PERSISTENT_DATA |
4f81a417 | 318 | select DM_BIO_PRISON |
a7f7f624 | 319 | help |
44363322 | 320 | Provides thin provisioning and snapshots that share a data store. |
991d9fa0 | 321 | |
c6b4fcba JT |
322 | config DM_CACHE |
323 | tristate "Cache target (EXPERIMENTAL)" | |
324 | depends on BLK_DEV_DM | |
325 | default n | |
326 | select DM_PERSISTENT_DATA | |
327 | select DM_BIO_PRISON | |
a7f7f624 | 328 | help |
44363322 KK |
329 | dm-cache attempts to improve performance of a block device by |
330 | moving frequently used data to a smaller, higher performance | |
331 | device. Different 'policy' plugins can be used to change the | |
332 | algorithms used to select which blocks are promoted, demoted, | |
333 | cleaned etc. It supports writeback and writethrough modes. | |
c6b4fcba | 334 | |
66a63635 JT |
335 | config DM_CACHE_SMQ |
336 | tristate "Stochastic MQ Cache Policy (EXPERIMENTAL)" | |
337 | depends on DM_CACHE | |
338 | default y | |
a7f7f624 | 339 | help |
44363322 KK |
340 | A cache policy that uses a multiqueue ordered by recent hits |
341 | to select which blocks should be promoted and demoted. | |
342 | This is meant to be a general purpose policy. It prioritises | |
343 | reads over writes. This SMQ policy (vs MQ) offers the promise | |
344 | of less memory utilization, improved performance and increased | |
345 | adaptability in the face of changing workloads. | |
66a63635 | 346 | |
48debafe MP |
347 | config DM_WRITECACHE |
348 | tristate "Writecache target" | |
349 | depends on BLK_DEV_DM | |
a7f7f624 | 350 | help |
48debafe MP |
351 | The writecache target caches writes on persistent memory or SSD. |
352 | It is intended for databases or other programs that need extremely | |
353 | low commit latency. | |
354 | ||
355 | The writecache target doesn't cache reads because reads are supposed | |
356 | to be cached in standard RAM. | |
357 | ||
d3c7b35c HM |
358 | config DM_EBS |
359 | tristate "Emulated block size target (EXPERIMENTAL)" | |
1c277e50 | 360 | depends on BLK_DEV_DM && !HIGHMEM |
d3c7b35c HM |
361 | select DM_BUFIO |
362 | help | |
363 | dm-ebs emulates smaller logical block size on backing devices | |
364 | with larger ones (e.g. 512 byte sectors on 4K native disks). | |
365 | ||
eec40579 JT |
366 | config DM_ERA |
367 | tristate "Era target (EXPERIMENTAL)" | |
368 | depends on BLK_DEV_DM | |
369 | default n | |
370 | select DM_PERSISTENT_DATA | |
371 | select DM_BIO_PRISON | |
a7f7f624 | 372 | help |
44363322 KK |
373 | dm-era tracks which parts of a block device are written to |
374 | over time. Useful for maintaining cache coherency when using | |
375 | vendor snapshots. | |
eec40579 | 376 | |
7431b783 NT |
377 | config DM_CLONE |
378 | tristate "Clone target (EXPERIMENTAL)" | |
379 | depends on BLK_DEV_DM | |
380 | default n | |
381 | select DM_PERSISTENT_DATA | |
a7f7f624 | 382 | help |
44363322 KK |
383 | dm-clone produces a one-to-one copy of an existing, read-only source |
384 | device into a writable destination device. The cloned device is | |
385 | visible/mountable immediately and the copy of the source device to the | |
386 | destination device happens in the background, in parallel with user | |
387 | I/O. | |
7431b783 | 388 | |
44363322 | 389 | If unsure, say N. |
7431b783 | 390 | |
1da177e4 | 391 | config DM_MIRROR |
0149e57f AK |
392 | tristate "Mirror target" |
393 | depends on BLK_DEV_DM | |
a7f7f624 | 394 | help |
44363322 KK |
395 | Allow volume managers to mirror logical volumes, also |
396 | needed for live data migration tools such as 'pvmove'. | |
1da177e4 | 397 | |
5442851e MP |
398 | config DM_LOG_USERSPACE |
399 | tristate "Mirror userspace logging" | |
400 | depends on DM_MIRROR && NET | |
401 | select CONNECTOR | |
a7f7f624 | 402 | help |
5442851e MP |
403 | The userspace logging module provides a mechanism for |
404 | relaying the dm-dirty-log API to userspace. Log designs | |
405 | which are more suited to userspace implementation (e.g. | |
406 | shared storage logs) or experimental logs can be implemented | |
407 | by leveraging this framework. | |
408 | ||
9d09e663 | 409 | config DM_RAID |
d9f691c3 | 410 | tristate "RAID 1/4/5/6/10 target" |
035220b3 | 411 | depends on BLK_DEV_DM |
7b81ef8b | 412 | select MD_RAID0 |
b12d437b | 413 | select MD_RAID1 |
d9f691c3 | 414 | select MD_RAID10 |
9d09e663 N |
415 | select MD_RAID456 |
416 | select BLK_DEV_MD | |
a7f7f624 | 417 | help |
d9f691c3 | 418 | A dm target that supports RAID1, RAID10, RAID4, RAID5 and RAID6 mappings |
9d09e663 N |
419 | |
420 | A RAID-5 set of N drives with a capacity of C MB per drive provides | |
421 | the capacity of C * (N - 1) MB, and protects against a failure | |
422 | of a single drive. For a given sector (row) number, (N - 1) drives | |
423 | contain data sectors, and one drive contains the parity protection. | |
424 | For a RAID-4 set, the parity blocks are present on a single drive, | |
425 | while a RAID-5 set distributes the parity across the drives in one | |
426 | of the available parity distribution methods. | |
427 | ||
428 | A RAID-6 set of N drives with a capacity of C MB per drive | |
429 | provides the capacity of C * (N - 2) MB, and protects | |
430 | against a failure of any two drives. For a given sector | |
431 | (row) number, (N - 2) drives contain data sectors, and two | |
432 | drives contains two independent redundancy syndromes. Like | |
433 | RAID-5, RAID-6 distributes the syndromes across the drives | |
434 | in one of the available parity distribution methods. | |
435 | ||
1da177e4 | 436 | config DM_ZERO |
0149e57f AK |
437 | tristate "Zero target" |
438 | depends on BLK_DEV_DM | |
a7f7f624 | 439 | help |
1da177e4 LT |
440 | A target that discards writes, and returns all zeroes for |
441 | reads. Useful in some recovery situations. | |
442 | ||
443 | config DM_MULTIPATH | |
0149e57f AK |
444 | tristate "Multipath target" |
445 | depends on BLK_DEV_DM | |
fe9233fb CS |
446 | # nasty syntax but means make DM_MULTIPATH independent |
447 | # of SCSI_DH if the latter isn't defined but if | |
448 | # it is, DM_MULTIPATH must depend on it. We get a build | |
449 | # error if SCSI_DH=m and DM_MULTIPATH=y | |
294ab783 | 450 | depends on !SCSI_DH || SCSI |
a7f7f624 | 451 | help |
1da177e4 LT |
452 | Allow volume managers to support multipath hardware. |
453 | ||
fd5e0339 KU |
454 | config DM_MULTIPATH_QL |
455 | tristate "I/O Path Selector based on the number of in-flight I/Os" | |
456 | depends on DM_MULTIPATH | |
a7f7f624 | 457 | help |
fd5e0339 KU |
458 | This path selector is a dynamic load balancer which selects |
459 | the path with the least number of in-flight I/Os. | |
460 | ||
461 | If unsure, say N. | |
462 | ||
f392ba88 KU |
463 | config DM_MULTIPATH_ST |
464 | tristate "I/O Path Selector based on the service time" | |
465 | depends on DM_MULTIPATH | |
a7f7f624 | 466 | help |
f392ba88 KU |
467 | This path selector is a dynamic load balancer which selects |
468 | the path expected to complete the incoming I/O in the shortest | |
469 | time. | |
470 | ||
471 | If unsure, say N. | |
472 | ||
2613eab1 KK |
473 | config DM_MULTIPATH_HST |
474 | tristate "I/O Path Selector based on historical service time" | |
475 | depends on DM_MULTIPATH | |
476 | help | |
477 | This path selector is a dynamic load balancer which selects | |
478 | the path expected to complete the incoming I/O in the shortest | |
479 | time by comparing estimated service time (based on historical | |
480 | service time). | |
481 | ||
482 | If unsure, say N. | |
483 | ||
e4d2e82b MC |
484 | config DM_MULTIPATH_IOA |
485 | tristate "I/O Path Selector based on CPU submission" | |
486 | depends on DM_MULTIPATH | |
487 | help | |
488 | This path selector selects the path based on the CPU the IO is | |
489 | executed on and the CPU to path mapping setup at path addition time. | |
490 | ||
491 | If unsure, say N. | |
492 | ||
26b9f228 | 493 | config DM_DELAY |
d57916a0 AK |
494 | tristate "I/O delaying target" |
495 | depends on BLK_DEV_DM | |
a7f7f624 | 496 | help |
26b9f228 HM |
497 | A target that delays reads and/or writes and can send |
498 | them to different devices. Useful for testing. | |
499 | ||
500 | If unsure, say N. | |
501 | ||
e4f3fabd BG |
502 | config DM_DUST |
503 | tristate "Bad sector simulation target" | |
504 | depends on BLK_DEV_DM | |
a7f7f624 | 505 | help |
e4f3fabd BG |
506 | A target that simulates bad sector behavior. |
507 | Useful for testing. | |
508 | ||
509 | If unsure, say N. | |
510 | ||
6bbc923d HK |
511 | config DM_INIT |
512 | bool "DM \"dm-mod.create=\" parameter support" | |
513 | depends on BLK_DEV_DM=y | |
a7f7f624 | 514 | help |
6bbc923d HK |
515 | Enable "dm-mod.create=" parameter to create mapped devices at init time. |
516 | This option is useful to allow mounting rootfs without requiring an | |
517 | initramfs. | |
6cf2a73c | 518 | See Documentation/admin-guide/device-mapper/dm-init.rst for dm-mod.create="..." |
6bbc923d HK |
519 | format. |
520 | ||
521 | If unsure, say N. | |
522 | ||
51e5b2bd | 523 | config DM_UEVENT |
e0b215da AK |
524 | bool "DM uevents" |
525 | depends on BLK_DEV_DM | |
a7f7f624 | 526 | help |
51e5b2bd MA |
527 | Generate udev events for DM events. |
528 | ||
3407ef52 | 529 | config DM_FLAKEY |
d57916a0 AK |
530 | tristate "Flakey target" |
531 | depends on BLK_DEV_DM | |
a7f7f624 | 532 | help |
44363322 | 533 | A target that intermittently fails I/O for debugging purposes. |
3407ef52 | 534 | |
a4ffc152 | 535 | config DM_VERITY |
d57916a0 AK |
536 | tristate "Verity target support" |
537 | depends on BLK_DEV_DM | |
a4ffc152 MP |
538 | select CRYPTO |
539 | select CRYPTO_HASH | |
540 | select DM_BUFIO | |
a7f7f624 | 541 | help |
a4ffc152 MP |
542 | This device-mapper target creates a read-only device that |
543 | transparently validates the data on one underlying device against | |
544 | a pre-generated tree of cryptographic checksums stored on a second | |
545 | device. | |
546 | ||
547 | You'll need to activate the digests you're going to use in the | |
548 | cryptoapi configuration. | |
549 | ||
550 | To compile this code as a module, choose M here: the module will | |
551 | be called dm-verity. | |
552 | ||
553 | If unsure, say N. | |
554 | ||
88cd3e6c JK |
555 | config DM_VERITY_VERIFY_ROOTHASH_SIG |
556 | def_bool n | |
557 | bool "Verity data device root hash signature verification support" | |
558 | depends on DM_VERITY | |
559 | select SYSTEM_DATA_VERIFICATION | |
4da8f8c8 | 560 | help |
88cd3e6c JK |
561 | Add ability for dm-verity device to be validated if the |
562 | pre-generated tree of cryptographic checksums passed has a pkcs#7 | |
563 | signature file that can validate the roothash of the tree. | |
564 | ||
4da8f8c8 MS |
565 | By default, rely on the builtin trusted keyring. |
566 | ||
567 | If unsure, say N. | |
568 | ||
569 | config DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING | |
570 | bool "Verity data device root hash signature verification with secondary keyring" | |
571 | depends on DM_VERITY_VERIFY_ROOTHASH_SIG | |
572 | depends on SECONDARY_TRUSTED_KEYRING | |
573 | help | |
574 | Rely on the secondary trusted keyring to verify dm-verity signatures. | |
575 | ||
88cd3e6c JK |
576 | If unsure, say N. |
577 | ||
a739ff3f ST |
578 | config DM_VERITY_FEC |
579 | bool "Verity forward error correction support" | |
580 | depends on DM_VERITY | |
581 | select REED_SOLOMON | |
582 | select REED_SOLOMON_DEC8 | |
a7f7f624 | 583 | help |
a739ff3f ST |
584 | Add forward error correction support to dm-verity. This option |
585 | makes it possible to use pre-generated error correction data to | |
586 | recover from corrupted blocks. | |
587 | ||
588 | If unsure, say N. | |
589 | ||
9d0eb0ab JR |
590 | config DM_SWITCH |
591 | tristate "Switch target support (EXPERIMENTAL)" | |
592 | depends on BLK_DEV_DM | |
a7f7f624 | 593 | help |
9d0eb0ab JR |
594 | This device-mapper target creates a device that supports an arbitrary |
595 | mapping of fixed-size regions of I/O across a fixed set of paths. | |
596 | The path used for any specific region can be switched dynamically | |
597 | by sending the target a message. | |
598 | ||
599 | To compile this code as a module, choose M here: the module will | |
600 | be called dm-switch. | |
601 | ||
602 | If unsure, say N. | |
603 | ||
0e9cebe7 JB |
604 | config DM_LOG_WRITES |
605 | tristate "Log writes target support" | |
606 | depends on BLK_DEV_DM | |
a7f7f624 | 607 | help |
0e9cebe7 JB |
608 | This device-mapper target takes two devices, one device to use |
609 | normally, one to log all write operations done to the first device. | |
610 | This is for use by file system developers wishing to verify that | |
57d42487 | 611 | their fs is writing a consistent file system at all times by allowing |
0e9cebe7 JB |
612 | them to replay the log in a variety of ways and to check the |
613 | contents. | |
614 | ||
615 | To compile this code as a module, choose M here: the module will | |
616 | be called dm-log-writes. | |
617 | ||
618 | If unsure, say N. | |
619 | ||
7eada909 | 620 | config DM_INTEGRITY |
7ab84db6 | 621 | tristate "Integrity target support" |
7eada909 MP |
622 | depends on BLK_DEV_DM |
623 | select BLK_DEV_INTEGRITY | |
624 | select DM_BUFIO | |
625 | select CRYPTO | |
f7b347ac | 626 | select CRYPTO_SKCIPHER |
7eada909 | 627 | select ASYNC_XOR |
82bb8599 | 628 | select DM_AUDIT if AUDIT |
a7f7f624 | 629 | help |
7ab84db6 MS |
630 | This device-mapper target emulates a block device that has |
631 | additional per-sector tags that can be used for storing | |
632 | integrity information. | |
633 | ||
634 | This integrity target is used with the dm-crypt target to | |
635 | provide authenticated disk encryption or it can be used | |
636 | standalone. | |
637 | ||
638 | To compile this code as a module, choose M here: the module will | |
639 | be called dm-integrity. | |
640 | ||
3b1a94c8 DLM |
641 | config DM_ZONED |
642 | tristate "Drive-managed zoned block device target support" | |
643 | depends on BLK_DEV_DM | |
644 | depends on BLK_DEV_ZONED | |
b690bd54 | 645 | select CRC32 |
a7f7f624 | 646 | help |
3b1a94c8 DLM |
647 | This device-mapper target takes a host-managed or host-aware zoned |
648 | block device and exposes most of its capacity as a regular block | |
649 | device (drive-managed zoned block device) without any write | |
650 | constraints. This is mainly intended for use with file systems that | |
651 | do not natively support zoned block devices but still want to | |
652 | benefit from the increased capacity offered by SMR disks. Other uses | |
653 | by applications using raw block devices (for example object stores) | |
654 | are also possible. | |
655 | ||
656 | To compile this code as a module, choose M here: the module will | |
657 | be called dm-zoned. | |
658 | ||
7ab84db6 | 659 | If unsure, say N. |
7eada909 | 660 | |
2cc1ae48 MW |
661 | config DM_AUDIT |
662 | bool "DM audit events" | |
663 | depends on AUDIT | |
664 | help | |
665 | Generate audit events for device-mapper. | |
666 | ||
667 | Enables audit logging of several security relevant events in the | |
668 | particular device-mapper targets, especially the integrity target. | |
669 | ||
afd44034 | 670 | endif # MD |