FC3Test2 I2O install problem (anaconda)
Elliot Lee
sopwith at redhat.com
Thu Sep 23 15:44:46 UTC 2004
Hey, thanks for the bug report. One thing that needs to be emphasized is
that unless this gets reported in bugzilla, it's very likely to be lost.
>>> All bugs need to be reported in bugzilla so they can be tracked and
managed sanely, and so that you can always find out exactly what the
status of a fix is. <<<
Cheers,
-- Elliot
We're so busy putting out fires that we don't take time to stop kids from
playing with matches.
On Thu, 23 Sep 2004, Dave wrote:
>
> Not kernel related this time!
>
> Device inodes are not being created properly by anaconda, instead of:
>
> /dev/i2o/hda 80, 0
> /dev/i2o/hda1 80, 1
> ...
> /dev/i2o/hda9 80, 9
>
> I'm seeing:
>
> /dev/i2o/hda 80, 0
> /dev/i2o/hdap1 80, 0
> ...
> /dev/i2o/hdap9 80, 0
>
> causing the install to fail with no hard drives found. Creating the devices
> manually allows the install to proceed as normal:
>
> mknod /dev/i2o/hda1 b 80 1
> mknod /dev/i2o/hda2 b 80 2
> ...
> mknod /dev/i2o/hda9 b 80 9
>
> Technical discussion below - should I take this across to anaconda-devel
> and/or bugzilla, or is a relevant party listening in?
>
> isys/devnodes.c, devMakeInode() cannot determine minor device number since
> devName[7] is always 'p' - Assuming fsset.py formatDevice() is correct, I
> believe (UNTESTED!) the bug is in loader2/getparts.c, isPartitionName():
>
> (1) Either do this:
>
> --- loader2/getparts.c 2004-09-23 01:48:30.000000000 +0100
> +++ loader2/getparts.c 2004-09-23 01:48:53.000000000 +0100
> @@ -32,7 +32,7 @@
> return 0;
>
> /* if it has a '/' in it then treat it specially */
> - if (strchr(pname, '/') && !strstr(pname, "iseries")) {
> + if (strchr(pname, '/') && !strstr(pname, "iseries") && !strstr(pname,
> "i2o")) {
> /* assume its either a /dev/ida/ or /dev/cciss device */
> /* these have form of c?d?p? if its a partition */
> return strchr(pname, 'p') != NULL;
>
> (2) Or instead of excluding devices that don't have the form c?d?p?, why not
> just include those that do?:
>
> --- loader2/getparts.c 2004-09-23 01:48:30.000000000 +0100
> +++ loader2/getparts.c 2004-09-23 01:53:40.000000000 +0100
> @@ -32,7 +32,7 @@
> return 0;
>
> /* if it has a '/' in it then treat it specially */
> - if (strchr(pname, '/') && !strstr(pname, "iseries")) {
> + if (strstr(pname, "ida/") || strstr(pname, "cciss/")) {
> /* assume its either a /dev/ida/ or /dev/cciss device */
> /* these have form of c?d?p? if its a partition */
> return strchr(pname, 'p') != NULL;
>
> (1) is less likely to break existing behaviour, (2) seems more sensible (but
> still ugly in the long term) - take your pick. NB - I've not had a chance to
> rebuild anaconda to test this yet since I'm currently without a suitable build
> platform.
>
>
More information about the test
mailing list