]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blame - src/patches/grub-0.95-moreraid.patch
strongswan: Update to 5.0.1.
[people/teissler/ipfire-2.x.git] / src / patches / grub-0.95-moreraid.patch
CommitLineData
77f1c55f
MT
1--- grub-0.95/lib/device.c.moreraid 2004-11-30 17:09:36.736099360 -0500
2+++ grub-0.95/lib/device.c 2004-11-30 17:12:17.319686944 -0500
3@@ -544,6 +544,17 @@
4 }
5
6 static void
7+get_cciss_disk_name (char * name, int controller, int drive)
8+{
9+ sprintf (name, "/dev/cciss/c%dd%d", controller, drive);
10+}
11+
12+static void
13+get_cpqarray_disk_name (char * name, int controller, int drive)
14+{
15+ sprintf (name, "/dev/ida/c%dd%d", controller, drive);
16+}
17+static void
18 get_ataraid_disk_name (char *name, int unit)
19 {
20 sprintf (name, "/dev/ataraid/d%c", unit + '0');
21@@ -920,7 +931,7 @@
22
23 for (controller = 0; controller < 8; controller++)
24 {
25- for (drive = 0; drive < 15; drive++)
26+ for (drive = 0; drive < 32; drive++)
27 {
28 char name[24];
29
30@@ -940,6 +951,70 @@
31 }
32 }
33 #endif /* __linux__ */
34+
35+#ifdef __linux__
36+ /* This is for cciss - we have
37+ /dev/cciss/c<controller>d<logical drive>p<partition>.
38+
39+ cciss driver currently supports up to 8 controllers, 16 logical
40+ drives, and 7 partitions. */
41+ {
42+ int controller, drive;
43+
44+ for (controller = 0; controller < 8; controller++)
45+ {
46+ for (drive = 0; drive < 16; drive++)
47+ {
48+ char name[24];
49+
50+ get_cciss_disk_name (name, controller, drive);
51+ if (check_device (name))
52+ {
53+ (*map)[num_hd + 0x80] = strdup (name);
54+ assert ((*map)[num_hd + 0x80]);
55+
56+ /* If the device map file is opened, write the map. */
57+ if (fp)
58+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
59+
60+ num_hd++;
61+ }
62+ }
63+ }
64+ }
65+#endif /* __linux__ */
66+
67+#ifdef __linux__
68+ /* This is for cpqarray - we have
69+ /dev/ida/c<controller>d<logical drive>p<partition>.
70+
71+ cpqarray driver currently supports up to 8 controllers, 16 logical
72+ drives, and 15 partitions. */
73+ {
74+ int controller, drive;
75+
76+ for (controller = 0; controller < 8; controller++)
77+ {
78+ for (drive = 0; drive < 15; drive++)
79+ {
80+ char name[24];
81+
82+ get_cpqarray_disk_name (name, controller, drive);
83+ if (check_device (name))
84+ {
85+ (*map)[num_hd + 0x80] = strdup (name);
86+ assert ((*map)[num_hd + 0x80]);
87+
88+ /* If the device map file is opened, write the map. */
89+ if (fp)
90+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
91+
92+ num_hd++;
93+ }
94+ }
95+ }
96+ }
97+#endif /* __linux__ */
98
99 /* OK, close the device map file if opened. */
100 if (fp)