File: evms-linux-2.5.2-common-files.patch

package info (click to toggle)
evms 1.0.0-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 9,168 kB
  • ctags: 5,853
  • sloc: ansic: 87,317; makefile: 691; sh: 238
file content (407 lines) | stat: -rw-r--r-- 15,340 bytes parent folder | download
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
diff -Naur linux-2002-01-17/Documentation/Configure.help evms-2002-01-17/Documentation/Configure.help
--- linux-2002-01-17/Documentation/Configure.help	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/Documentation/Configure.help	Tue Jan 15 08:18:47 2002
@@ -1671,6 +1671,178 @@
   called on26.o. You must also have a high-level driver for the type
   of device that you want to support.
 
+EVMS Kernel Runtime
+CONFIG_EVMS
+  EVMS runtime driver. This is a plugin-based framework for volume
+  management, and combines support for partitioning, software RAID,
+  LVM, and more into a single interface.
+
+  User-space tools are required to perform administration of EVMS logical
+  volumes. Please visit <http://www.sourceforge.net/projects/evms> for
+  more details on downloading and installing these tools.
+
+  This driver is also available as a pair of modules called evms.o and
+  evms_passthru.o ( = code which can be inserted and removed from the
+  running kernel whenever you want). If you want to compile it as a module,
+  say M here and read <file:Documentation/modules.txt>.
+
+EVMS Local Device Manager Plugin
+CONFIG_EVMS_LOCAL_DEV_MGR_PLUGIN
+  Support for local IDE and SCSI devices. This plugin is required if EVMS
+  support is selected.
+
+  This plugin is also available as a kernel module called ldev_mgr.o.
+
+EVMS DOS Partition Manager Plugin
+CONFIG_EVMS_DOS_PARTITION_PLUGIN
+  Support for recognizing all partitions using the ever-popular DOS
+  partitioning scheme (MBRs & EBRs). 99% of the time you will need 
+  this plugin to do anything useful with EVMS.
+
+  This plugin also contains support for recognizing BSD disklabels,
+  UNIXWARE partitions, Solaris-X86 partitions, and OS/2 DLAT entries.
+
+  This plugin is also available as a kernel module called dos_part.o.
+
+EVMS SnapShot Feature Plugin
+CONFIG_EVMS_SNAPSHOT_PLUGIN
+  This feature plugin lets you create a snapshot of any volume
+  under EVMS control using any other device under under EVMS
+  control as the target for the snapshot volume.
+
+  This plugin is also available as a kernel module called snapshot.o.
+
+EVMS DriveLink Feature Plugin
+CONFIG_EVMS_DRIVELINK_PLUGIN
+  This feature plugin lets you combine multiple devices into a
+  single virtual block device. The size of the virtual block
+  device is approximately equal to the sum of all its components.
+  It currently supports combining up to 60 devices (partitions,
+  disks, or logical volumes).
+
+  This plugin is also available as a kernel module called evms_drivelink.o.
+
+EVMS Bad Block Relocation (BBR) Feature
+CONFIG_EVMS_BBR_PLUGIN
+  BBR is designed to remap I/O write failures to another safe
+  location on disk. Note that most disk drives have BBR built
+  into them, so software BBR will only be activated when all
+  hardware BBR replacement sectors have been used.
+
+  This plugin is also available as a kernel module called evms_bbr.o.
+
+EVMS Linux LVM Plugin
+CONFIG_EVMS_LVM_PLUGIN
+  The LVM plugin is responsible for providing compatibility with the Linux
+  LVM. This plugin recognizes disks and partitions that are LVM physical
+  volumes (PVs), and assembles the appropriate volume groups (VGs). LVM
+  logical volumes (LVs) are exported as EVMS volumes with full read/write
+  support.  In addition, support for striped and snapshotted volumes is
+  included. The corresponding EVMS Engine plugin must also be installed in
+  order to perform any administration of LVM VGs and LVs.
+
+  This plugin is also available as a kernel module called lvm_vge.o.
+
+EVMS MD Plugin
+CONFIG_EVMS_MD_PLUGIN
+  The MD plugin is responsible for providing compatibility with the Linux
+  Software RAID driver (MD). It allows several devices to be combined into
+  one logical device. This can be used to simply append one disk or
+  partition to another, or to combine several redundant disks into a
+  RAID 1/4/5 device so as to provide protection against hard disk failures.
+
+  This plugin is also available as a kernel module called md_core.o.
+
+EVMS MD RAID-Linear Plugin
+CONFIG_EVMS_MD_LINEAR_PERS
+  The RAID-Linear personality combines disks and/or partitions simply by
+  appending one to the other.
+
+  This plugin is also available as a kernel module called md_linear.o.
+
+EVMS MD RAID-0 Plugin
+CONFIG_EVMS_MD_RAID0_PERS
+  The RAID-0 personality combines disks and/or partitions into one
+  logical device using striping. This method writes data evenly across
+  all members in the device in order to increase the throughput rate if
+  each member resides on a distinct disk.
+
+  This plugin is also available as a kernel module called md_raid0.o.
+
+EVMS MD RAID-1 Plugin
+CONFIG_EVMS_MD_RAID1_PERS
+  The RAID-1 personality implements mirroring, in which a logical device
+  consists of several disks that are exact copies of each other. In the
+  event of a mirror failure, the RAID-1 personality will continue to use
+  the remaining mirrors in the set, providing an error free device to the
+  higher levels of the kernel. In a set with N drives, the available space
+  is the capacity of a single drive, and the set protects against the
+  failure of N-1 drives.
+
+  This plugin is also available as a kernel module called md_raid1.o.
+
+EVMS MD RAID-4/RAID-5 Plugin
+CONFIG_EVMS_MD_RAID5_PERS
+  A RAID-5 set of N drives with a capacity of C MB per drive provides
+  the capacity of C * (N-1) MB, and protects against a failure of a
+  single drive. For a given sector (row) number, (N-1) drives contain
+  data sectors, and one drive contains the parity protection. For a
+  RAID-4 set, the parity blocks are present on a single drive, while
+  a RAID-5 set distributes the parity across all drives in one of the
+  available parity distribution methods.
+
+  This plugin is also available as a kernel module called md_raid5.o.
+
+EVMS AIX LVM Plugin
+CONFIG_EVMS_AIX_PLUGIN
+  The AIX LVM plugin is responsible for providing compatibility with the
+  AIX LVM. This plugin recognizes disks and partitions that are AIX disks,
+  and assembles the appropriate volume groups. AIX logical volumes are
+  exported as EVMS volumes with full read/write support. In addition,
+  support for striped volumes is included, and support for mirroring is
+  under development.
+
+  You should only need to select this option if you are running on a PPC
+  machine and want to access AIX LVM volumes. The user-space plugin for
+  AIX will be available in the future.
+
+  This plugin is also available as a kernel module called AIXlvm_vge.o.
+
+EVMS OS/2 LVM Plugin
+CONFIG_EVMS_OS2_PLUGIN
+  Support for recognizing the type 0x35 partitions that later versions
+  of OS/2 use in its Logical Volume Manager.  Provides binary
+  compatibility and includes Drive Linking and Bad Block Relocation
+  emulation. The user-space plugin for OS/2 will be available in the future.
+
+  This plugin is also available as a kernel module called os2lvm_vge.o.
+
+EVMS Clustering Plugin
+CONFIG_EVMS_ECR_PLUGIN
+
+  The EVMS Clustering Plugin is still under design and development.
+  Best to just say 'n' here.
+
+  This plugin is available as a kernel module called evms_ecr.o.
+
+EVMS Debug Level
+CONFIG_EVMS_INFO_CRITICAL
+  Set the level for kernel messages from EVMS. Each level on the list
+  produces message for that level and all levels above it. Thus, level
+  "Critical" only logs the most critical messages (and thus the fewest),
+  whereas level "Everything" produces more information that will probably
+  ever be useful.  Level "Default" is a good starting point. Level "Debug"
+  is good if you are having problems with EVMS and want more basic info
+  on what's going on during the volume discovery process.
+
+  EVMS also supports a boot-time kernel parameter to set the info level.
+  To use this method, specify "evms_info_level=5" at boot time, or add the
+  line "append = "evms_info_level=5"" to your lilo.conf file (replacing 5
+  with your desired info level). See include/linux/evms/evms.h for the
+  numerical definitions of the info levels. To use this boot-time parameter,
+  the EVMS core driver must be statically built into the kernel (not as a
+  module).
+
 Logical Volume Manager (LVM) support
 CONFIG_BLK_DEV_LVM
   This driver lets you combine several hard disks, hard disk
diff -Naur linux-2002-01-17/Makefile evms-2002-01-17/Makefile
--- linux-2002-01-17/Makefile	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/Makefile	Tue Jan 15 08:18:10 2002
@@ -184,6 +184,7 @@
 DRIVERS-$(CONFIG_MD) += drivers/md/mddev.o
 DRIVERS-$(CONFIG_BLUEZ) += drivers/bluetooth/bluetooth.o
 DRIVERS-$(CONFIG_HOTPLUG_PCI) += drivers/hotplug/vmlinux-obj.o
+DRIVERS-$(CONFIG_EVMS) += drivers/evms/evmsdrvr.o
 
 DRIVERS := $(DRIVERS-y)
 
diff -Naur linux-2002-01-17/arch/i386/config.in evms-2002-01-17/arch/i386/config.in
--- linux-2002-01-17/arch/i386/config.in	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/arch/i386/config.in	Tue Jan 15 08:23:21 2002
@@ -292,6 +292,8 @@
 
 source drivers/block/Config.in
 
+source drivers/evms/Config.in
+
 source drivers/md/Config.in
 
 if [ "$CONFIG_NET" = "y" ]; then
diff -Naur linux-2002-01-17/arch/ia64/config.in evms-2002-01-17/arch/ia64/config.in
--- linux-2002-01-17/arch/ia64/config.in	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/arch/ia64/config.in	Tue Jan 15 08:24:22 2002
@@ -136,6 +136,7 @@
 source drivers/pnp/Config.in
 source drivers/block/Config.in
 source drivers/message/i2o/Config.in
+source drivers/evms/Config.in
 source drivers/md/Config.in
 
 mainmenu_option next_comment
diff -Naur linux-2002-01-17/arch/ppc/config.in evms-2002-01-17/arch/ppc/config.in
--- linux-2002-01-17/arch/ppc/config.in	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/arch/ppc/config.in	Tue Jan 15 08:24:22 2002
@@ -241,6 +241,7 @@
 source drivers/mtd/Config.in
 source drivers/pnp/Config.in
 source drivers/block/Config.in
+source drivers/evms/Config.in
 source drivers/md/Config.in
 
 if [ "$CONFIG_NET" = "y" ]; then
diff -Naur linux-2002-01-17/arch/parisc/config.in evms-2002-01-17/arch/parisc/config.in
--- linux-2002-01-17/arch/parisc/config.in	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/arch/parisc/config.in	Tue Jan 15 08:24:22 2002
@@ -106,6 +106,8 @@
 
 source drivers/block/Config.in
 
+source drivers/evms/Config.in
+
 if [ "$CONFIG_NET" = "y" ]; then
   source net/Config.in
 fi
diff -Naur linux-2002-01-17/arch/s390/config.in evms-2002-01-17/arch/s390/config.in
--- linux-2002-01-17/arch/s390/config.in	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/arch/s390/config.in	Tue Jan 15 08:24:22 2002
@@ -57,6 +57,8 @@
 
 source drivers/s390/Config.in
 
+source drivers/evms/Config.in
+
 if [ "$CONFIG_NET" = "y" ]; then
   source net/Config.in
 fi
diff -Naur linux-2002-01-17/arch/s390x/config.in evms-2002-01-17/arch/s390x/config.in
--- linux-2002-01-17/arch/s390x/config.in	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/arch/s390x/config.in	Tue Jan 15 08:24:22 2002
@@ -61,6 +61,8 @@
 
 source drivers/s390/Config.in
 
+source drivers/evms/Config.in
+
 if [ "$CONFIG_NET" = "y" ]; then
   source net/Config.in
 fi
diff -Naur linux-2002-01-17/drivers/Makefile evms-2002-01-17/drivers/Makefile
--- linux-2002-01-17/drivers/Makefile	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/drivers/Makefile	Tue Dec 18 08:17:37 2001
@@ -8,7 +8,7 @@
 
 mod-subdirs :=	dio mtd sbus video macintosh usb input telephony sgi ide \
 		message/i2o message/fusion scsi md ieee1394 pnp isdn atm \
-		fc4 net/hamradio i2c acpi bluetooth
+		fc4 net/hamradio i2c acpi bluetooth evms
 
 subdir-y :=	parport char block net sound misc media cdrom hotplug
 subdir-m :=	$(subdir-y)
@@ -46,5 +46,6 @@
 subdir-$(CONFIG_ACPI)		+= acpi
 
 subdir-$(CONFIG_BLUEZ)		+= bluetooth
+subdir-$(CONFIG_EVMS)		+= evms
 
 include $(TOPDIR)/Rules.make
diff -Naur linux-2002-01-17/drivers/block/genhd.c evms-2002-01-17/drivers/block/genhd.c
--- linux-2002-01-17/drivers/block/genhd.c	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/drivers/block/genhd.c	Tue Jan 15 08:19:34 2002
@@ -117,6 +117,32 @@
 EXPORT_SYMBOL(get_gendisk);
 
 
+/**
+ * walk_gendisk - issue a command for every registered gendisk
+ * @walk: user-specified callback
+ * @data: opaque data for the callback
+ *
+ * This function walks through the gendisk chain and calls back
+ * into @walk for every element.
+ */
+int
+walk_gendisk(int (*walk)(struct gendisk *, void *), void *data)
+{
+	struct gendisk *gp;
+	int error = 0;
+
+	read_lock(&gendisk_lock);
+	for (gp = gendisk_head; gp; gp = gp->next)
+		if ((error = walk(gp, data)))
+			break;
+	read_unlock(&gendisk_lock);
+
+	return error;
+}
+
+EXPORT_SYMBOL(walk_gendisk);
+
+
 unsigned long
 get_start_sect(kdev_t dev)
 {
diff -Naur linux-2002-01-17/include/linux/fs.h evms-2002-01-17/include/linux/fs.h
--- linux-2002-01-17/include/linux/fs.h	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/include/linux/fs.h	Tue Jan 15 08:20:22 2002
@@ -1503,7 +1503,7 @@
 unsigned long generate_cluster(kdev_t, int b[], int);
 unsigned long generate_cluster_swab32(kdev_t, int b[], int);
 extern kdev_t ROOT_DEV;
-extern char root_device_name[];
+extern void get_root_device_name( char * root_name );
 
 
 extern void show_buffers(void);
diff -Naur linux-2002-01-17/include/linux/genhd.h evms-2002-01-17/include/linux/genhd.h
--- linux-2002-01-17/include/linux/genhd.h	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/include/linux/genhd.h	Tue Jan 15 08:20:22 2002
@@ -87,6 +87,7 @@
 extern void add_gendisk(struct gendisk *gp);
 extern void del_gendisk(struct gendisk *gp);
 extern struct gendisk *get_gendisk(kdev_t dev);
+extern int walk_gendisk(int (*walk)(struct gendisk *, void *), void *data);
 extern unsigned long get_start_sect(kdev_t dev);
 extern unsigned long get_nr_sects(kdev_t dev);
 
diff -Naur linux-2002-01-17/include/linux/sysctl.h evms-2002-01-17/include/linux/sysctl.h
--- linux-2002-01-17/include/linux/sysctl.h	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/include/linux/sysctl.h	Tue Jan 15 08:20:22 2002
@@ -551,7 +551,8 @@
 	DEV_HWMON=2,
 	DEV_PARPORT=3,
 	DEV_RAID=4,
-	DEV_MAC_HID=5
+	DEV_MAC_HID=5,
+	DEV_EVMS=6
 };
 
 /* /proc/sys/dev/cdrom */
@@ -567,6 +568,18 @@
 /* /proc/sys/dev/parport */
 enum {
 	DEV_PARPORT_DEFAULT=-3
+};
+
+/* /proc/sys/dev/evms */
+enum {
+	DEV_EVMS_INFO_LEVEL=1,
+	DEV_EVMS_MD=2
+};
+
+/* /proc/sys/dev/evms/raid */
+enum {
+	DEV_EVMS_MD_SPEED_LIMIT_MIN=1,
+	DEV_EVMS_MD_SPEED_LIMIT_MAX=2
 };
 
 /* /proc/sys/dev/raid */
diff -Naur linux-2002-01-17/init/do_mounts.c evms-2002-01-17/init/do_mounts.c
--- linux-2002-01-17/init/do_mounts.c	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/init/do_mounts.c	Thu Jan 17 07:54:13 2002
@@ -210,6 +210,7 @@
 	{ "ftlc", 0x2c10 },
 	{ "ftld", 0x2c18 },
 	{ "mtdblock", 0x1f00 },
+	{ "evms", 0x3f00 },
 	{ NULL, 0 }
 };

@@ -724,6 +725,11 @@
 	mount_block_root("/dev/root", root_mountflags);
 }
 
+void get_root_device_name( char * root_name )
+{
+	strncpy(root_name, root_device_name, 63);
+}
+
 #ifdef CONFIG_BLK_DEV_INITRD
 static int do_linuxrc(void * shell)
 {
diff -Naur linux-2002-01-17/kernel/ksyms.c evms-2002-01-17/kernel/ksyms.c
--- linux-2002-01-17/kernel/ksyms.c	Thu Jan 17 07:59:47 2002
+++ evms-2002-01-17/kernel/ksyms.c	Thu Jan 17 07:54:13 2002
@@ -314,6 +314,7 @@
 EXPORT_SYMBOL(refile_buffer);
 EXPORT_SYMBOL(max_readahead);
 EXPORT_SYMBOL(wipe_partitions);
+EXPORT_SYMBOL(is_swap_partition);
 
 /* tty routines */
 EXPORT_SYMBOL(tty_hangup);