vserver 1.9.5.x5
[linux-2.6.git] / drivers / md / Kconfig
1 #
2 # Block device driver configuration
3 #
4
5 menu "Multi-device support (RAID and LVM)"
6
7 config MD
8         bool "Multiple devices driver support (RAID and LVM)"
9         help
10           Support multiple physical spindles through a single logical device.
11           Required for RAID and logical volume management.
12
13 config BLK_DEV_MD
14         tristate "RAID support"
15         depends on MD
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
33 config MD_LINEAR
34         tristate "Linear (append) mode"
35         depends on BLK_DEV_MD
36         ---help---
37           If you say Y here, then your multiple devices driver will be able to
38           use the so-called linear mode, i.e. it will combine the hard disk
39           partitions by simply appending one to the other.
40
41           To compile this as a module, choose M here: the module
42           will be called linear.
43
44           If unsure, say Y.
45
46 config MD_RAID0
47         tristate "RAID-0 (striping) mode"
48         depends on BLK_DEV_MD
49         ---help---
50           If you say Y here, then your multiple devices driver will be able to
51           use the so-called raid0 mode, i.e. it will combine the hard disk
52           partitions into one logical device in such a fashion as to fill them
53           up evenly, one chunk here and one chunk there. This will increase
54           the throughput rate if the partitions reside on distinct disks.
55
56           Information about Software RAID on Linux is contained in the
57           Software-RAID mini-HOWTO, available from
58           <http://www.tldp.org/docs.html#howto>. There you will also
59           learn where to get the supporting user space utilities raidtools.
60
61           To compile this as a module, choose M here: the module
62           will be called raid0.
63
64           If unsure, say Y.
65
66 config MD_RAID1
67         tristate "RAID-1 (mirroring) mode"
68         depends on BLK_DEV_MD
69         ---help---
70           A RAID-1 set consists of several disk drives which are exact copies
71           of each other.  In the event of a mirror failure, the RAID driver
72           will continue to use the operational mirrors in the set, providing
73           an error free MD (multiple device) to the higher levels of the
74           kernel.  In a set with N drives, the available space is the capacity
75           of a single drive, and the set protects against a failure of (N - 1)
76           drives.
77
78           Information about Software RAID on Linux is contained in the
79           Software-RAID mini-HOWTO, available from
80           <http://www.tldp.org/docs.html#howto>.  There you will also
81           learn where to get the supporting user space utilities raidtools.
82
83           If you want to use such a RAID-1 set, say Y.  To compile this code
84           as a module, choose M here: the module will be called raid1.
85
86           If unsure, say Y.
87
88 config MD_RAID10
89         tristate "RAID-10 (mirrored striping) mode (EXPERIMENTAL)"
90         depends on BLK_DEV_MD && EXPERIMENTAL
91         ---help---
92           RAID-10 provides a combination of striping (RAID-0) and
93           mirroring (RAID-1) with easier configuration and more flexable
94           layout.
95           Unlike RAID-0, but like RAID-1, RAID-10 requires all devices to
96           be the same size (or atleast, only as much as the smallest device
97           will be used).
98           RAID-10 provides a variety of layouts that provide different levels
99           of redundancy and performance.
100
101           RAID-10 requires mdadm-1.7.0 or later, available at:
102
103           ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/
104
105
106 config MD_RAID5
107         tristate "RAID-4/RAID-5 mode"
108         depends on BLK_DEV_MD
109         ---help---
110           A RAID-5 set of N drives with a capacity of C MB per drive provides
111           the capacity of C * (N - 1) MB, and protects against a failure
112           of a single drive. For a given sector (row) number, (N - 1) drives
113           contain data sectors, and one drive contains the parity protection.
114           For a RAID-4 set, the parity blocks are present on a single drive,
115           while a RAID-5 set distributes the parity across the drives in one
116           of the available parity distribution methods.
117
118           Information about Software RAID on Linux is contained in the
119           Software-RAID mini-HOWTO, available from
120           <http://www.tldp.org/docs.html#howto>. There you will also
121           learn where to get the supporting user space utilities raidtools.
122
123           If you want to use such a RAID-4/RAID-5 set, say Y.  To compile
124           this code as a module, choose M here: the module will be called raid5.
125
126           If unsure, say Y.
127
128 config MD_RAID6
129         tristate "RAID-6 mode (EXPERIMENTAL)"
130         depends on BLK_DEV_MD && EXPERIMENTAL
131         ---help---
132           WARNING: RAID-6 is currently highly experimental.  If you
133           use it, there is no guarantee whatsoever that it won't
134           destroy your data, eat your disk drives, insult your mother,
135           or re-appoint George W. Bush.
136
137           A RAID-6 set of N drives with a capacity of C MB per drive
138           provides the capacity of C * (N - 2) MB, and protects
139           against a failure of any two drives. For a given sector
140           (row) number, (N - 2) drives contain data sectors, and two
141           drives contains two independent redundancy syndromes.  Like
142           RAID-5, RAID-6 distributes the syndromes across the drives
143           in one of the available parity distribution methods.
144
145           RAID-6 requires mdadm-1.5.0 or later, available at:
146
147           ftp://ftp.kernel.org/pub/linux/utils/raid/mdadm/
148
149           If you want to use such a RAID-6 set, say Y.  To compile
150           this code as a module, choose M here: the module will be
151           called raid6.
152
153           If unsure, say N.
154
155 config MD_MULTIPATH
156         tristate "Multipath I/O support"
157         depends on BLK_DEV_MD
158         help
159           Multipath-IO is the ability of certain devices to address the same
160           physical disk over multiple 'IO paths'. The code ensures that such
161           paths can be defined and handled at runtime, and ensures that a
162           transparent failover to the backup path(s) happens if a IO errors
163           arrives on the primary path.
164
165           If unsure, say N.
166
167 config MD_FAULTY
168         tristate "Faulty test module for MD"
169         depends on BLK_DEV_MD
170         help
171           The "faulty" module allows for a block device that occasionally returns
172           read or write errors.  It is useful for testing.
173
174           In unsure, say N.
175
176 config BLK_DEV_DM
177         tristate "Device mapper support"
178         depends on MD
179         ---help---
180           Device-mapper is a low level volume manager.  It works by allowing
181           people to specify mappings for ranges of logical sectors.  Various
182           mapping types are available, in addition people may write their own
183           modules containing custom mappings if they wish.
184
185           Higher level volume managers such as LVM2 use this driver.
186
187           To compile this as a module, choose M here: the module will be
188           called dm-mod.
189
190           If unsure, say N.
191
192 config DM_CRYPT
193         tristate "Crypt target support"
194         depends on BLK_DEV_DM && EXPERIMENTAL
195         select CRYPTO
196         ---help---
197           This device-mapper target allows you to create a device that
198           transparently encrypts the data on it. You'll need to activate
199           the ciphers you're going to use in the cryptoapi configuration.
200
201           Information on how to use dm-crypt can be found on
202
203           <http://www.saout.de/misc/dm-crypt/>
204
205           To compile this code as a module, choose M here: the module will
206           be called dm-crypt.
207
208           If unsure, say N.
209
210 config DM_SNAPSHOT
211        tristate "Snapshot target (EXPERIMENTAL)"
212        depends on BLK_DEV_DM && EXPERIMENTAL
213        ---help---
214          Allow volume managers to take writeable snapshots of a device.
215
216 config DM_MIRROR
217        tristate "Mirror target (EXPERIMENTAL)"
218        depends on BLK_DEV_DM && EXPERIMENTAL
219        ---help---
220          Allow volume managers to mirror logical volumes, also
221          needed for live data migration tools such as 'pvmove'.
222
223 config DM_ZERO
224         tristate "Zero target (EXPERIMENTAL)"
225         depends on BLK_DEV_DM && EXPERIMENTAL
226         ---help---
227           A target that discards writes, and returns all zeroes for
228           reads.  Useful in some recovery situations.
229
230 endmenu
231