Bug 123249 - Does not include cciss devices in device.map
Summary: Does not include cciss devices in device.map
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: grub
Version: rawhide
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Peter Jones
QA Contact:
URL:
Whiteboard: FC3
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-05-14 19:45 UTC by Mark Seger
Modified: 2007-11-30 22:10 UTC (History)
1 user (show)

Fixed In Version: 0.95-4
Clone Of:
Environment:
Last Closed: 2005-10-05 15:10:36 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Mark Seger 2004-05-14 19:45:45 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6)
Gecko/20040113

Description of problem:
If one requests grub to generate a new device.map file and the machine
has a SmartArray Controller, which names its devices in /dev/cciss/c0d0,
the resultant file only contains
(fd0) /dev/fd0


Version-Release number of selected component (if applicable):
grub-0.94-4

How reproducible:
Always

Steps to Reproduce:
1.grub --device-file=/tmp/foo  (where foo does not exist)
2.
3.
    

Actual Results:  file only contains
(fd0)  /dev/fd0


Expected Results:  (fd0)  /dev/fd0
(hd0)  /dev/cciss/c0d0


Additional info:

whatever anaconda does, it DOES populate /boot/grub/device.map
correctly as can be seen on any successfully installed system.

Comment 1 Mark Seger 2004-05-18 13:18:20 UTC
I found the source of the problem...

In the module lib/device.c, the section of code that checks for SCSI
disks, calls the function get_scsi_disk_name(), which in turn tries to
find all the scsi devices with the name of /dev/sda-p and therefore
never sees the cciss devices, which is why nothing ever gets written
to the device.map file.

To test my theory I changed get_scsi_disk_name to look for SCSI
devices with the name format from:

  sprintf (name, "/dev/sd%c", unit + 'a');

to:

  sprintf (name, "/dev/cciss/c0d%c", unit + '0');

The first time I tried this my system crashed because it couldn't
handle 16 device names, so I changed the look calling this to only
look at devices 0,1 and it created the following device map:

(fd0)   /dev/fd0
(hd0)   /dev/cciss/c0d0
(hd1)   /dev/cciss/c0d1

It feels like the thing to do is build a new function called something
like get_cciss_disk_name and call it in addition to the
get_scsi_disk_name with the appropriate look counter.

If there is anything more I can provide, let me know...

Comment 2 Warren Togami 2004-10-30 11:21:21 UTC
http://testing.fedora.redhat.com/tree/
Is this report still an issue in RHEL4 beta1 or beta2, or FC3?  Try
the FC3 RC install from the URL above.

Is Bug #125808 related to this issue?

Comment 3 Jeremy Katz 2004-11-30 22:40:45 UTC
Fixed in grub-0.95-4 and later 

Comment 8 Johnray Fuller 2005-10-08 01:12:40 UTC
I believe this bug correlates to the following in the changelog:

* Mon Aug 01 2005 Peter Jones <pjones> - 0.93-4.8

- minor fix to the --recheck fix.

So if this is the case, this bug should be closed.

J


Note You need to log in before you can comment on or make changes to this bug.