19 lines
695 B
Diff
19 lines
695 B
Diff
|
--- grub-0.93/lib/device.c.raid 2002-05-20 05:53:46.000000000 -0400
|
||
|
+++ grub-0.93/lib/device.c 2002-12-28 23:24:10.000000000 -0500
|
||
|
@@ -689,7 +689,14 @@
|
||
|
if (strcmp (dev + strlen(dev) - 5, "/disc") == 0)
|
||
|
strcpy (dev + strlen(dev) - 5, "/part");
|
||
|
}
|
||
|
- sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1);
|
||
|
+
|
||
|
+ sprintf (dev + strlen(dev), "%s%d",
|
||
|
+ /* Compaq smart and others */
|
||
|
+ (strncmp(dev, "/dev/ida/", 9) == 0 ||
|
||
|
+ strncmp(dev, "/dev/ataraid/", 13) == 0 ||
|
||
|
+ strncmp(dev, "/dev/cciss/", 11) == 0 ||
|
||
|
+ strncmp(dev, "/dev/rd/", 8) == 0) ? "p" : "",
|
||
|
+ ((partition >> 16) & 0xFF) + 1);
|
||
|
|
||
|
/* Open the partition. */
|
||
|
fd = open (dev, O_RDWR);
|