1# 2# Block device driver configuration 3# 4 5menuconfig MD 6 bool "Multiple devices driver support (RAID and LVM)" 7 depends on BLOCK 8 help 9 Support multiple physical spindles through a single logical device. 10 Required for RAID and logical volume management. 11 12if MD 13 14config BLK_DEV_MD 15 tristate "RAID support" 16 ---help--- 17 This driver lets you combine several hard disk partitions into one 18 logical block device. This can be used to simply append one 19 partition to another one or to combine several redundant hard disks 20 into a RAID1/4/5 device so as to provide protection against hard 21 disk failures. This is called "Software RAID" since the combining of 22 the partitions is done by the kernel. "Hardware RAID" means that the 23 combining is done by a dedicated controller; if you have such a 24 controller, you do not need to say Y here. 25 26 More information about Software RAID on Linux is contained in the 27 Software RAID mini-HOWTO, available from 28 <http://www.tldp.org/docs.html#howto>. There you will also learn 29 where to get the supporting user space utilities raidtools. 30 31 If unsure, say N. 32 33config MD_AUTODETECT 34 bool "Autodetect RAID arrays during kernel boot" 35 depends on BLK_DEV_MD=y 36 default y 37 ---help--- 38 If you say Y here, then the kernel will try to autodetect raid 39 arrays as part of its boot process. 40 41 If you don't use raid and say Y, this autodetection can cause 42 a several-second delay in the boot time due to various 43 synchronisation steps that are part of this step. 44 45 If unsure, say Y. 46 47config MD_LINEAR 48 tristate "Linear (append) mode" 49 depends on BLK_DEV_MD 50 ---help--- 51 If you say Y here, then your multiple devices driver will be able to 52 use the so-called linear mode, i.e. it will combine the hard disk 53 partitions by simply appending one to the other. 54 55 To compile this as a module, choose M here: the module 56 will be called linear. 57 58 If unsure, say Y. 59 60config MD_RAID0 61 tristate "RAID-0 (striping) mode" 62 depends on BLK_DEV_MD 63 ---help--- 64 If you say Y here, then your multiple devices driver will be able to 65 use the so-called raid0 mode, i.e. it will combine the hard disk 66 partitions into one logical device in such a fashion as to fill them 67 up evenly, one chunk here and one chunk there. This will increase 68 the throughput rate if the partitions reside on distinct disks. 69 70 Information about Software RAID on Linux is contained in the 71 Software-RAID mini-HOWTO, available from 72 <http://www.tldp.org/docs.html#howto>. There you will also 73 learn where to get the supporting user space utilities raidtools. 74 75 To compile this as a module, choose M here: the module 76 will be called raid0. 77 78 If unsure, say Y. 79 80config MD_RAID1 81 tristate "RAID-1 (mirroring) mode" 82 depends on BLK_DEV_MD 83 ---help--- 84 A RAID-1 set consists of several disk drives which are exact copies 85 of each other. In the event of a mirror failure, the RAID driver 86 will continue to use the operational mirrors in the set, providing 87 an error free MD (multiple device) to the higher levels of the 88 kernel. In a set with N drives, the available space is the capacity 89 of a single drive, and the set protects against a failure of (N - 1) 90 drives. 91 92 Information about Software RAID on Linux is contained in the 93 Software-RAID mini-HOWTO, available from 94 <http://www.tldp.org/docs.html#howto>. There you will also 95 learn where to get the supporting user space utilities raidtools. 96 97 If you want to use such a RAID-1 set, say Y. To compile this code 98 as a module, choose M here: the module will be called raid1. 99 100 If unsure, say Y. 101 102config MD_RAID10 103 tristate "RAID-10 (mirrored striping) mode (EXPERIMENTAL)" 104 depends on BLK_DEV_MD && EXPERIMENTAL 105 ---help--- 106 RAID-10 provides a combination of striping (RAID-0) and 107 mirroring (RAID-1) with easier configuration and more flexible 108 layout. 109 Unlike RAID-0, but like RAID-1, RAID-10 requires all devices to 110 be the same size (or at least, only as much as the smallest device 111 will be used). 112 RAID-10 provides a variety of layouts that provide different levels 113 of redundancy and performance. 114 115 RAID-10 requires mdadm-1.7.0 or later, available at: 116 117 ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/ 118 119 If unsure, say Y. 120 121config MD_RAID456 122 tristate "RAID-4/RAID-5/RAID-6 mode" 123 depends on BLK_DEV_MD 124 select MD_RAID6_PQ 125 select ASYNC_MEMCPY 126 select ASYNC_XOR 127 ---help--- 128 A RAID-5 set of N drives with a capacity of C MB per drive provides 129 the capacity of C * (N - 1) MB, and protects against a failure 130 of a single drive. For a given sector (row) number, (N - 1) drives 131 contain data sectors, and one drive contains the parity protection. 132 For a RAID-4 set, the parity blocks are present on a single drive, 133 while a RAID-5 set distributes the parity across the drives in one 134 of the available parity distribution methods. 135 136 A RAID-6 set of N drives with a capacity of C MB per drive 137 provides the capacity of C * (N - 2) MB, and protects 138 against a failure of any two drives. For a given sector 139 (row) number, (N - 2) drives contain data sectors, and two 140 drives contains two independent redundancy syndromes. Like 141 RAID-5, RAID-6 distributes the syndromes across the drives 142 in one of the available parity distribution methods. 143 144 Information about Software RAID on Linux is contained in the 145 Software-RAID mini-HOWTO, available from 146 <http://www.tldp.org/docs.html#howto>. There you will also 147 learn where to get the supporting user space utilities raidtools. 148 149 If you want to use such a RAID-4/RAID-5/RAID-6 set, say Y. To 150 compile this code as a module, choose M here: the module 151 will be called raid456. 152 153 If unsure, say Y. 154 155config MD_RAID6_PQ 156 tristate 157 158config MD_MULTIPATH 159 tristate "Multipath I/O support" 160 depends on BLK_DEV_MD 161 help 162 Multipath-IO is the ability of certain devices to address the same 163 physical disk over multiple 'IO paths'. The code ensures that such 164 paths can be defined and handled at runtime, and ensures that a 165 transparent failover to the backup path(s) happens if a IO errors 166 arrives on the primary path. 167 168 If unsure, say N. 169 170config MD_FAULTY 171 tristate "Faulty test module for MD" 172 depends on BLK_DEV_MD 173 help 174 The "faulty" module allows for a block device that occasionally returns 175 read or write errors. It is useful for testing. 176 177 In unsure, say N. 178 179config BLK_DEV_DM 180 tristate "Device mapper support" 181 ---help--- 182 Device-mapper is a low level volume manager. It works by allowing 183 people to specify mappings for ranges of logical sectors. Various 184 mapping types are available, in addition people may write their own 185 modules containing custom mappings if they wish. 186 187 Higher level volume managers such as LVM2 use this driver. 188 189 To compile this as a module, choose M here: the module will be 190 called dm-mod. 191 192 If unsure, say N. 193 194config DM_DEBUG 195 boolean "Device mapper debugging support" 196 depends on BLK_DEV_DM 197 ---help--- 198 Enable this for messages that may help debug device-mapper problems. 199 200 If unsure, say N. 201 202config DM_CRYPT 203 tristate "Crypt target support" 204 depends on BLK_DEV_DM 205 select CRYPTO 206 select CRYPTO_CBC 207 ---help--- 208 This device-mapper target allows you to create a device that 209 transparently encrypts the data on it. You'll need to activate 210 the ciphers you're going to use in the cryptoapi configuration. 211 212 Information on how to use dm-crypt can be found on 213 214 <http://www.saout.de/misc/dm-crypt/> 215 216 To compile this code as a module, choose M here: the module will 217 be called dm-crypt. 218 219 If unsure, say N. 220 221config DM_SNAPSHOT 222 tristate "Snapshot target" 223 depends on BLK_DEV_DM 224 ---help--- 225 Allow volume managers to take writable snapshots of a device. 226 227config DM_MIRROR 228 tristate "Mirror target" 229 depends on BLK_DEV_DM 230 ---help--- 231 Allow volume managers to mirror logical volumes, also 232 needed for live data migration tools such as 'pvmove'. 233 234config DM_ZERO 235 tristate "Zero target" 236 depends on BLK_DEV_DM 237 ---help--- 238 A target that discards writes, and returns all zeroes for 239 reads. Useful in some recovery situations. 240 241config DM_MULTIPATH 242 tristate "Multipath target" 243 depends on BLK_DEV_DM 244 # nasty syntax but means make DM_MULTIPATH independent 245 # of SCSI_DH if the latter isn't defined but if 246 # it is, DM_MULTIPATH must depend on it. We get a build 247 # error if SCSI_DH=m and DM_MULTIPATH=y 248 depends on SCSI_DH || !SCSI_DH 249 ---help--- 250 Allow volume managers to support multipath hardware. 251 252config DM_DELAY 253 tristate "I/O delaying target (EXPERIMENTAL)" 254 depends on BLK_DEV_DM && EXPERIMENTAL 255 ---help--- 256 A target that delays reads and/or writes and can send 257 them to different devices. Useful for testing. 258 259 If unsure, say N. 260 261config DM_UEVENT 262 bool "DM uevents (EXPERIMENTAL)" 263 depends on BLK_DEV_DM && EXPERIMENTAL 264 ---help--- 265 Generate udev events for DM events. 266 267endif # MD 268