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