Bug#374952: I2O device.map support
Robert Millan [ackstorm]
rmillan at ackstorm.es
Thu Jun 22 09:39:51 UTC 2006
Package: grub
Severity: normal
Tags: patch
This patch adds device.map support for I2O devices (/dev/i2o/*).
--
Robert Millan
sat at ackstorm.es
Departamento de Asistencia Técnica
Oficina central: (+34) 902 888 345
Asistencia técnica: (+34) 902 888 408
ACK STORM, S.L.
http://www.ackstorm.es
Este mensaje electrónico contiene información de ACK STORM, S.L. que es privada
y confidencial, siendo para el uso exclusivo de las personas o entidades arriba
mencionadas. Si usted no es el destinatario señalado, le informamos que
cualquier divulgación, copia, distribución o uso de los contenidos está
prohibida. Si usted ha recibido este mensaje por error, por favor borre su
contenido y comuníquenoslo en la dirección ackstorm at ackstorm.es
--------------------------------------------------
-------------- next part --------------
diff -ur grub-0.97.old/lib/device.c grub-0.97/lib/device.c
--- grub-0.97.old/lib/device.c 2006-06-21 14:51:37.000000000 -0400
+++ grub-0.97/lib/device.c 2006-06-21 14:52:10.000000000 -0400
@@ -560,6 +560,12 @@
{
sprintf (name, "/dev/ataraid/d%c", unit + '0');
}
+
+static void
+get_i2o_disk_name (char *name, char unit)
+{
+ sprintf (name, "/dev/i2o/hd%c", unit);
+}
#endif
/* Check if DEVICE can be read. If an error occurs, return zero,
@@ -1022,6 +1028,29 @@
}
}
}
+
+ /* This is for I2O - we have /dev/i2o/hd<logical drive><partition> */
+ {
+ int unit;
+
+ for (unit = 'a'; unit < 'f'; unit++)
+ {
+ char name[24];
+
+ get_i2o_disk_name (name, unit);
+ if (check_device (name))
+ {
+ (*map)[num_hd + 0x80] = strdup (name);
+ assert ((*map)[num_hd + 0x80]);
+
+ /* If the device map file is opened, write the map. */
+ if (fp)
+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
+
+ num_hd++;
+ }
+ }
+ }
#endif /* __linux__ */
/* OK, close the device map file if opened. */
@@ -1088,6 +1117,7 @@
(strncmp(dev, "/dev/ida/", 9) == 0 ||
strncmp(dev, "/dev/ataraid/", 13) == 0 ||
strncmp(dev, "/dev/cciss/", 11) == 0 ||
+ strncmp(dev, "/dev/i2o/", 9) == 0 ||
strncmp(dev, "/dev/rd/", 8) == 0) ? "p" : "",
((partition >> 16) & 0xFF) + 1);
More information about the Pkg-grub-devel
mailing list