+2009-07-29 Felix Zielcke <fzielcke@z-51.de>
+
+ * util/deviceiter.c (get_acceleraid_disk_name): New static
+ function.
+ (grub_util_iterate_devices): Handle Accelraid devices.
+ * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
+
2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
* loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
sprintf (name, "/dev/rd/c%dd%d", controller, drive);
}
+static void
+get_acceleraid_disk_name (char *name, int controller, int drive)
+{
+ sprintf (name, "/dev/rs/c%dd%d", controller, drive);
+}
+
static void
get_ataraid_disk_name (char *name, int unit)
{
}
}
+ /* This is for Mylex Acceleraid - we have
+ /dev/rd/c<controller>d<logical drive>p<partition>. */
+ {
+ int controller, drive;
+
+ for (controller = 0; controller < 8; controller++)
+ {
+ for (drive = 0; drive < 15; drive++)
+ {
+ char name[24];
+
+ get_acceleraid_disk_name (name, controller, drive);
+ if (check_device (name))
+ {
+ if (hook (name, 0))
+ return;
+ }
+ }
+ }
+ }
+
/* This is for CCISS - we have
/dev/cciss/c<controller>d<logical drive>p<partition>. */
{
return path;
}
+ /* If this is a Mylex AcceleRAID Array. */
+ if (strncmp ("rs/c", p, 4) == 0)
+ {
+ /* /dev/rd/c[0-9]+d[0-9]+(p[0-9]+)? */
+ p = strchr (p, 'p');
+ if (p)
+ *p = '\0';
+
+ return path;
+ }
/* If this is a CCISS disk. */
if (strncmp ("cciss/c", p, sizeof ("cciss/c") - 1) == 0)
{