]>
Commit | Line | Data |
---|---|---|
48b9868f AM |
1 | diff -Naur linux-2002-03-06/Documentation/Configure.help evms-2002-03-06/Documentation/Configure.help |
2 | --- linux-2002-03-06/Documentation/Configure.help Wed Mar 6 09:29:44 2002 | |
3 | +++ evms-2002-03-06/Documentation/Configure.help Tue Feb 26 07:35:50 2002 | |
2fb59530 | 4 | @@ -1671,6 +1671,196 @@ |
48b9868f AM |
5 | called on26.o. You must also have a high-level driver for the type |
6 | of device that you want to support. | |
7 | ||
8 | +EVMS Kernel Runtime | |
9 | +CONFIG_EVMS | |
10 | + EVMS runtime driver. This is a plugin-based framework for volume | |
11 | + management, and combines support for partitioning, software RAID, | |
12 | + LVM, and more into a single interface. | |
13 | + | |
14 | + User-space tools are required to perform administration of EVMS logical | |
15 | + volumes. Please visit <http://www.sourceforge.net/projects/evms> for | |
16 | + more details on downloading and installing these tools. | |
17 | + | |
18 | + This driver is also available as a pair of modules called evms.o and | |
19 | + evms_passthru.o ( = code which can be inserted and removed from the | |
20 | + running kernel whenever you want). If you want to compile it as a module, | |
21 | + say M here and read <file:Documentation/modules.txt>. | |
22 | + | |
23 | +EVMS Local Device Manager Plugin | |
24 | +CONFIG_EVMS_LOCAL_DEV_MGR_PLUGIN | |
25 | + Support for local IDE and SCSI devices. This plugin is required if EVMS | |
26 | + support is selected. | |
27 | + | |
28 | + This plugin is also available as a kernel module called ldev_mgr.o. | |
29 | + | |
30 | +EVMS DOS Partition Manager Plugin | |
31 | +CONFIG_EVMS_DOS_PARTITION_PLUGIN | |
32 | + Support for recognizing all partitions using the ever-popular DOS | |
33 | + partitioning scheme (MBRs & EBRs). 99% of the time you will need | |
34 | + this plugin to do anything useful with EVMS. | |
35 | + | |
36 | + This plugin also contains support for recognizing BSD disklabels, | |
37 | + UNIXWARE partitions, Solaris-X86 partitions, and OS/2 DLAT entries. | |
38 | + | |
39 | + This plugin is also available as a kernel module called dos_part.o. | |
40 | + | |
2fb59530 AM |
41 | +EVMS GPT Partition Manager Plugin |
42 | +CONFIG_EVMS_GPT_PARTITION_PLUGIN | |
43 | + Support for recognizing all partitions using the new EFI GUID partitioning | |
44 | + scheme that is used by IA-64 machines. You should only need to enable this | |
45 | + plugin if you are running Linux on an IA-64 machine. All other architectures | |
46 | + can say 'N' here. | |
47 | + | |
48 | + This plugin is also available as a kernel module called gpt_part.o | |
49 | + | |
50 | +EVMS S/390 Partition Manager Plugin | |
51 | +CONFIG_EVMS_S390_PART_PLUGIN | |
52 | + Support for recognizing all partitions created on S/390 machines. This | |
53 | + plugin recognizes CDL, LDL, and CMS partition formats. You should only need | |
54 | + to enable this plugin if you are running Linux on an S/390. All other | |
55 | + architectures can say 'N' here. | |
56 | + | |
57 | + This plugin is also available as a kernel module called s390_part.o | |
58 | + | |
48b9868f AM |
59 | +EVMS SnapShot Feature Plugin |
60 | +CONFIG_EVMS_SNAPSHOT_PLUGIN | |
61 | + This feature plugin lets you create a snapshot of any volume | |
62 | + under EVMS control using any other device under under EVMS | |
63 | + control as the target for the snapshot volume. | |
64 | + | |
65 | + This plugin is also available as a kernel module called snapshot.o. | |
66 | + | |
67 | +EVMS DriveLink Feature Plugin | |
68 | +CONFIG_EVMS_DRIVELINK_PLUGIN | |
69 | + This feature plugin lets you combine multiple devices into a | |
70 | + single virtual block device. The size of the virtual block | |
71 | + device is approximately equal to the sum of all its components. | |
72 | + It currently supports combining up to 60 devices (partitions, | |
73 | + disks, or logical volumes). | |
74 | + | |
75 | + This plugin is also available as a kernel module called evms_drivelink.o. | |
76 | + | |
77 | +EVMS Bad Block Relocation (BBR) Feature | |
78 | +CONFIG_EVMS_BBR_PLUGIN | |
79 | + BBR is designed to remap I/O write failures to another safe | |
80 | + location on disk. Note that most disk drives have BBR built | |
81 | + into them, so software BBR will only be activated when all | |
82 | + hardware BBR replacement sectors have been used. | |
83 | + | |
84 | + This plugin is also available as a kernel module called evms_bbr.o. | |
85 | + | |
86 | +EVMS Linux LVM Plugin | |
87 | +CONFIG_EVMS_LVM_PLUGIN | |
88 | + The LVM plugin is responsible for providing compatibility with the Linux | |
89 | + LVM. This plugin recognizes disks and partitions that are LVM physical | |
90 | + volumes (PVs), and assembles the appropriate volume groups (VGs). LVM | |
91 | + logical volumes (LVs) are exported as EVMS volumes with full read/write | |
92 | + support. In addition, support for striped and snapshotted volumes is | |
93 | + included. The corresponding EVMS Engine plugin must also be installed in | |
94 | + order to perform any administration of LVM VGs and LVs. | |
95 | + | |
96 | + This plugin is also available as a kernel module called lvm_vge.o. | |
97 | + | |
98 | +EVMS MD Plugin | |
99 | +CONFIG_EVMS_MD_PLUGIN | |
100 | + The MD plugin is responsible for providing compatibility with the Linux | |
101 | + Software RAID driver (MD). It allows several devices to be combined into | |
102 | + one logical device. This can be used to simply append one disk or | |
103 | + partition to another, or to combine several redundant disks into a | |
104 | + RAID 1/4/5 device so as to provide protection against hard disk failures. | |
105 | + | |
106 | + This plugin is also available as a kernel module called md_core.o. | |
107 | + | |
108 | +EVMS MD RAID-Linear Plugin | |
109 | +CONFIG_EVMS_MD_LINEAR_PERS | |
110 | + The RAID-Linear personality combines disks and/or partitions simply by | |
111 | + appending one to the other. | |
112 | + | |
113 | + This plugin is also available as a kernel module called md_linear.o. | |
114 | + | |
115 | +EVMS MD RAID-0 Plugin | |
116 | +CONFIG_EVMS_MD_RAID0_PERS | |
117 | + The RAID-0 personality combines disks and/or partitions into one | |
118 | + logical device using striping. This method writes data evenly across | |
119 | + all members in the device in order to increase the throughput rate if | |
120 | + each member resides on a distinct disk. | |
121 | + | |
122 | + This plugin is also available as a kernel module called md_raid0.o. | |
123 | + | |
124 | +EVMS MD RAID-1 Plugin | |
125 | +CONFIG_EVMS_MD_RAID1_PERS | |
126 | + The RAID-1 personality implements mirroring, in which a logical device | |
127 | + consists of several disks that are exact copies of each other. In the | |
128 | + event of a mirror failure, the RAID-1 personality will continue to use | |
129 | + the remaining mirrors in the set, providing an error free device to the | |
130 | + higher levels of the kernel. In a set with N drives, the available space | |
131 | + is the capacity of a single drive, and the set protects against the | |
132 | + failure of N-1 drives. | |
133 | + | |
134 | + This plugin is also available as a kernel module called md_raid1.o. | |
135 | + | |
136 | +EVMS MD RAID-4/RAID-5 Plugin | |
137 | +CONFIG_EVMS_MD_RAID5_PERS | |
138 | + A RAID-5 set of N drives with a capacity of C MB per drive provides | |
139 | + the capacity of C * (N-1) MB, and protects against a failure of a | |
140 | + single drive. For a given sector (row) number, (N-1) drives contain | |
141 | + data sectors, and one drive contains the parity protection. For a | |
142 | + RAID-4 set, the parity blocks are present on a single drive, while | |
143 | + a RAID-5 set distributes the parity across all drives in one of the | |
144 | + available parity distribution methods. | |
145 | + | |
146 | + This plugin is also available as a kernel module called md_raid5.o. | |
147 | + | |
148 | +EVMS AIX LVM Plugin | |
149 | +CONFIG_EVMS_AIX_PLUGIN | |
150 | + The AIX LVM plugin is responsible for providing compatibility with the | |
151 | + AIX LVM. This plugin recognizes disks and partitions that are AIX disks, | |
152 | + and assembles the appropriate volume groups. AIX logical volumes are | |
153 | + exported as EVMS volumes with full read/write support. In addition, | |
154 | + support for striped volumes is included, and support for mirroring is | |
155 | + under development. | |
156 | + | |
157 | + You should only need to select this option if you are running on a PPC | |
158 | + machine and want to access AIX LVM volumes. The user-space plugin for | |
159 | + AIX will be available in the future. | |
160 | + | |
161 | + This plugin is also available as a kernel module called AIXlvm_vge.o. | |
162 | + | |
163 | +EVMS OS/2 LVM Plugin | |
164 | +CONFIG_EVMS_OS2_PLUGIN | |
165 | + Support for recognizing the type 0x35 partitions that later versions | |
166 | + of OS/2 use in its Logical Volume Manager. Provides binary | |
167 | + compatibility and includes Drive Linking and Bad Block Relocation | |
168 | + emulation. The user-space plugin for OS/2 will be available in the future. | |
169 | + | |
170 | + This plugin is also available as a kernel module called os2lvm_vge.o. | |
171 | + | |
172 | +EVMS Clustering Plugin | |
173 | +CONFIG_EVMS_ECR_PLUGIN | |
174 | + | |
175 | + The EVMS Clustering Plugin is still under design and development. | |
176 | + Best to just say 'n' here. | |
177 | + | |
178 | + This plugin is available as a kernel module called evms_ecr.o. | |
179 | + | |
180 | +EVMS Debug Level | |
181 | +CONFIG_EVMS_INFO_CRITICAL | |
182 | + Set the level for kernel messages from EVMS. Each level on the list | |
183 | + produces message for that level and all levels above it. Thus, level | |
184 | + "Critical" only logs the most critical messages (and thus the fewest), | |
185 | + whereas level "Everything" produces more information that will probably | |
186 | + ever be useful. Level "Default" is a good starting point. Level "Debug" | |
187 | + is good if you are having problems with EVMS and want more basic info | |
188 | + on what's going on during the volume discovery process. | |
189 | + | |
190 | + EVMS also supports a boot-time kernel parameter to set the info level. | |
191 | + To use this method, specify "evms_info_level=5" at boot time, or add the | |
192 | + line "append = "evms_info_level=5"" to your lilo.conf file (replacing 5 | |
193 | + with your desired info level). See include/linux/evms/evms.h for the | |
194 | + numerical definitions of the info levels. To use this boot-time parameter, | |
195 | + the EVMS core driver must be statically built into the kernel (not as a | |
196 | + module). | |
197 | + | |
198 | Logical Volume Manager (LVM) support | |
199 | CONFIG_BLK_DEV_LVM | |
200 | This driver lets you combine several hard disks, hard disk | |
201 | diff -Naur linux-2002-03-06/MAINTAINERS evms-2002-03-06/MAINTAINERS | |
202 | --- linux-2002-03-06/MAINTAINERS Wed Mar 6 09:29:44 2002 | |
203 | +++ evms-2002-03-06/MAINTAINERS Mon Mar 4 09:15:39 2002 | |
204 | @@ -525,6 +525,13 @@ | |
205 | W: http://opensource.creative.com/ | |
206 | S: Maintained | |
207 | ||
208 | +ENTERPRISE VOLUME MANAGEMENT SYSTEM (EVMS) | |
209 | +P: Mark Peloquin, Steve Pratt, Kevin Corry | |
210 | +M: peloquin@us.ibm.com, slpratt@us.ibm.com, corryk@us.ibm.com | |
211 | +L: evms-devel@lists.sourceforge.net | |
212 | +W: http://www.sourceforge.net/projects/evms/ | |
213 | +S: Supported | |
214 | + | |
215 | ETHEREXPRESS-16 NETWORK DRIVER | |
216 | P: Philip Blundell | |
217 | M: Philip.Blundell@pobox.com | |
218 | diff -Naur linux-2002-03-06/Makefile evms-2002-03-06/Makefile | |
219 | --- linux-2002-03-06/Makefile Wed Mar 6 09:29:44 2002 | |
220 | +++ evms-2002-03-06/Makefile Tue Feb 26 07:34:46 2002 | |
221 | @@ -185,6 +185,7 @@ | |
222 | DRIVERS-$(CONFIG_MD) += drivers/md/mddev.o | |
223 | DRIVERS-$(CONFIG_BLUEZ) += drivers/bluetooth/bluetooth.o | |
224 | DRIVERS-$(CONFIG_HOTPLUG_PCI) += drivers/hotplug/vmlinux-obj.o | |
225 | +DRIVERS-$(CONFIG_EVMS) += drivers/evms/evmsdrvr.o | |
226 | ||
227 | DRIVERS := $(DRIVERS-y) | |
228 | ||
229 | diff -Naur linux-2002-03-06/arch/i386/config.in evms-2002-03-06/arch/i386/config.in | |
230 | --- linux-2002-03-06/arch/i386/config.in Wed Mar 6 09:29:44 2002 | |
231 | +++ evms-2002-03-06/arch/i386/config.in Tue Feb 26 07:35:06 2002 | |
232 | @@ -298,6 +298,8 @@ | |
233 | ||
234 | source drivers/block/Config.in | |
235 | ||
236 | +source drivers/evms/Config.in | |
237 | + | |
238 | source drivers/md/Config.in | |
239 | ||
240 | if [ "$CONFIG_NET" = "y" ]; then | |
241 | diff -Naur linux-2002-03-06/arch/ia64/config.in evms-2002-03-06/arch/ia64/config.in | |
242 | --- linux-2002-03-06/arch/ia64/config.in Wed Mar 6 09:29:44 2002 | |
243 | +++ evms-2002-03-06/arch/ia64/config.in Wed Mar 6 09:28:30 2002 | |
244 | @@ -136,6 +136,7 @@ | |
245 | source drivers/pnp/Config.in | |
246 | source drivers/block/Config.in | |
247 | source drivers/message/i2o/Config.in | |
248 | +source drivers/evms/Config.in | |
249 | source drivers/md/Config.in | |
250 | ||
251 | mainmenu_option next_comment | |
252 | diff -Naur linux-2002-03-06/arch/ppc/config.in evms-2002-03-06/arch/ppc/config.in | |
253 | --- linux-2002-03-06/arch/ppc/config.in Wed Mar 6 09:29:44 2002 | |
254 | +++ evms-2002-03-06/arch/ppc/config.in Tue Feb 26 07:35:25 2002 | |
255 | @@ -241,6 +241,7 @@ | |
256 | source drivers/mtd/Config.in | |
257 | source drivers/pnp/Config.in | |
258 | source drivers/block/Config.in | |
259 | +source drivers/evms/Config.in | |
260 | source drivers/md/Config.in | |
261 | ||
262 | if [ "$CONFIG_NET" = "y" ]; then | |
d9443e25 AM |
263 | diff -Naur linux-2002-03-06/arch/parisc/config.in evms-2002-03-06/arch/parisc/config.in |
264 | --- linux-2002-03-06/arch/parisc/config.in Wed Mar 6 09:29:44 2002 | |
265 | +++ evms-2002-03-06/arch/parisc/config.in Wed Mar 6 09:27:06 2002 | |
266 | @@ -106,6 +106,8 @@ | |
267 | ||
268 | source drivers/block/Config.in | |
269 | ||
270 | +source drivers/evms/Config.in | |
271 | + | |
272 | if [ "$CONFIG_NET" = "y" ]; then | |
273 | source net/Config.in | |
274 | fi | |
48b9868f AM |
275 | diff -Naur linux-2002-03-06/arch/s390/config.in evms-2002-03-06/arch/s390/config.in |
276 | --- linux-2002-03-06/arch/s390/config.in Wed Mar 6 09:29:44 2002 | |
277 | +++ evms-2002-03-06/arch/s390/config.in Wed Mar 6 07:47:50 2002 | |
278 | @@ -57,6 +57,8 @@ | |
279 | ||
280 | source drivers/s390/Config.in | |
281 | ||
282 | +source drivers/evms/Config.in | |
283 | + | |
284 | if [ "$CONFIG_NET" = "y" ]; then | |
285 | source net/Config.in | |
286 | fi | |
287 | diff -Naur linux-2002-03-06/arch/s390x/config.in evms-2002-03-06/arch/s390x/config.in | |
288 | --- linux-2002-03-06/arch/s390x/config.in Wed Mar 6 09:29:44 2002 | |
289 | +++ evms-2002-03-06/arch/s390x/config.in Wed Mar 6 09:27:06 2002 | |
290 | @@ -61,6 +61,8 @@ | |
291 | ||
292 | source drivers/s390/Config.in | |
293 | ||
294 | +source drivers/evms/Config.in | |
295 | + | |
296 | if [ "$CONFIG_NET" = "y" ]; then | |
297 | source net/Config.in | |
298 | fi | |
299 | diff -Naur linux-2002-03-06/drivers/Makefile evms-2002-03-06/drivers/Makefile | |
300 | --- linux-2002-03-06/drivers/Makefile Wed Mar 6 09:29:44 2002 | |
301 | +++ evms-2002-03-06/drivers/Makefile Tue Feb 26 07:36:13 2002 | |
302 | @@ -8,7 +8,7 @@ | |
303 | ||
304 | mod-subdirs := dio mtd sbus video macintosh usb input telephony sgi ide \ | |
305 | message/i2o message/fusion scsi md ieee1394 pnp isdn atm \ | |
306 | - fc4 net/hamradio i2c acpi bluetooth | |
307 | + fc4 net/hamradio i2c acpi bluetooth evms | |
308 | ||
309 | subdir-y := parport char block net sound misc media cdrom hotplug | |
310 | subdir-m := $(subdir-y) | |
311 | @@ -46,5 +46,6 @@ | |
312 | subdir-$(CONFIG_ACPI) += acpi | |
313 | ||
314 | subdir-$(CONFIG_BLUEZ) += bluetooth | |
315 | +subdir-$(CONFIG_EVMS) += evms | |
316 | ||
317 | include $(TOPDIR)/Rules.make | |
318 | diff -Naur linux-2002-03-06/drivers/block/genhd.c evms-2002-03-06/drivers/block/genhd.c | |
319 | --- linux-2002-03-06/drivers/block/genhd.c Wed Mar 6 09:29:44 2002 | |
320 | +++ evms-2002-03-06/drivers/block/genhd.c Tue Feb 26 07:36:28 2002 | |
321 | @@ -130,6 +130,32 @@ | |
322 | EXPORT_SYMBOL(get_gendisk); | |
323 | ||
324 | ||
325 | +/** | |
326 | + * walk_gendisk - issue a command for every registered gendisk | |
327 | + * @walk: user-specified callback | |
328 | + * @data: opaque data for the callback | |
329 | + * | |
330 | + * This function walks through the gendisk chain and calls back | |
331 | + * into @walk for every element. | |
332 | + */ | |
333 | +int | |
334 | +walk_gendisk(int (*walk)(struct gendisk *, void *), void *data) | |
335 | +{ | |
336 | + struct gendisk *gp; | |
337 | + int error = 0; | |
338 | + | |
339 | + read_lock(&gendisk_lock); | |
340 | + for (gp = gendisk_head; gp; gp = gp->next) | |
341 | + if ((error = walk(gp, data))) | |
342 | + break; | |
343 | + read_unlock(&gendisk_lock); | |
344 | + | |
345 | + return error; | |
346 | +} | |
347 | + | |
348 | +EXPORT_SYMBOL(walk_gendisk); | |
349 | + | |
350 | + | |
351 | #ifdef CONFIG_PROC_FS | |
352 | int | |
353 | get_partition_list(char *page, char **start, off_t offset, int count) | |
354 | diff -Naur linux-2002-03-06/include/linux/genhd.h evms-2002-03-06/include/linux/genhd.h | |
355 | --- linux-2002-03-06/include/linux/genhd.h Wed Mar 6 09:29:44 2002 | |
356 | +++ evms-2002-03-06/include/linux/genhd.h Tue Feb 26 07:36:57 2002 | |
357 | @@ -92,6 +92,7 @@ | |
358 | extern void add_gendisk(struct gendisk *gp); | |
359 | extern void del_gendisk(struct gendisk *gp); | |
360 | extern struct gendisk *get_gendisk(kdev_t dev); | |
361 | +extern int walk_gendisk(int (*walk)(struct gendisk *, void *), void *); | |
362 | ||
363 | #endif /* __KERNEL__ */ | |
364 | ||
d9443e25 AM |
365 | diff -Naur linux-2002-03-06/include/linux/sysctl.h evms-2002-03-06/include/linux/sysctl.h |
366 | --- linux-2002-03-06/include/linux/sysctl.h Wed Mar 6 09:29:44 2002 | |
367 | +++ evms-2002-03-06/include/linux/sysctl.h Tue Feb 26 07:36:57 2002 | |
368 | @@ -553,7 +553,8 @@ | |
369 | DEV_HWMON=2, | |
370 | DEV_PARPORT=3, | |
371 | DEV_RAID=4, | |
372 | - DEV_MAC_HID=5 | |
373 | + DEV_MAC_HID=5, | |
374 | + DEV_EVMS=6 | |
375 | }; | |
376 | ||
377 | /* /proc/sys/dev/cdrom */ | |
378 | @@ -569,6 +570,18 @@ | |
379 | /* /proc/sys/dev/parport */ | |
380 | enum { | |
381 | DEV_PARPORT_DEFAULT=-3 | |
382 | +}; | |
383 | + | |
384 | +/* /proc/sys/dev/evms */ | |
385 | +enum { | |
386 | + DEV_EVMS_INFO_LEVEL=1, | |
387 | + DEV_EVMS_MD=2 | |
388 | +}; | |
389 | + | |
390 | +/* /proc/sys/dev/evms/raid */ | |
391 | +enum { | |
392 | + DEV_EVMS_MD_SPEED_LIMIT_MIN=1, | |
393 | + DEV_EVMS_MD_SPEED_LIMIT_MAX=2 | |
394 | }; | |
395 | ||
396 | /* /proc/sys/dev/raid */ | |
48b9868f AM |
397 | diff -Naur linux-2002-03-06/init/main.c evms-2002-03-06/init/main.c |
398 | --- linux-2002-03-06/init/main.c Wed Mar 6 09:29:44 2002 | |
399 | +++ evms-2002-03-06/init/main.c Tue Feb 26 07:37:19 2002 | |
400 | @@ -269,6 +269,7 @@ | |
401 | { "ftlc", 0x2c10 }, | |
402 | { "ftld", 0x2c18 }, | |
403 | { "mtdblock", 0x1f00 }, | |
404 | + { "evms", 0x3f00 }, | |
405 | { NULL, 0 } | |
406 | }; | |
407 | ||
408 | diff -Naur linux-2002-03-06/kernel/ksyms.c evms-2002-03-06/kernel/ksyms.c | |
409 | --- linux-2002-03-06/kernel/ksyms.c Wed Mar 6 09:29:44 2002 | |
410 | +++ evms-2002-03-06/kernel/ksyms.c Tue Mar 5 14:53:51 2002 | |
411 | @@ -311,6 +311,8 @@ | |
412 | EXPORT_SYMBOL(refile_buffer); | |
413 | EXPORT_SYMBOL(max_sectors); | |
414 | EXPORT_SYMBOL(max_readahead); | |
415 | +EXPORT_SYMBOL(is_swap_partition); | |
416 | +EXPORT_SYMBOL(root_device_name); | |
417 | ||
418 | /* tty routines */ | |
419 | EXPORT_SYMBOL(tty_hangup); |