Bug 123249 - Does not include cciss devices in device.map
Does not include cciss devices in device.map
Product: Fedora
Classification: Fedora
Component: grub (Show other bugs)
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Peter Jones
Depends On:
  Show dependency treegraph
Reported: 2004-05-14 15:45 EDT by Mark Seger
Modified: 2007-11-30 17:10 EST (History)
1 user (show)

See Also:
Fixed In Version: 0.95-4
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-10-05 11:10:36 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Mark Seger 2004-05-14 15:45:45 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6)

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):

How reproducible:

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

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 09:18:20 EDT
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');


  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 07:21:21 EDT
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 17:40:45 EST
Fixed in grub-0.95-4 and later 
Comment 8 Johnray Fuller 2005-10-07 21:12:40 EDT
I believe this bug correlates to the following in the changelog:

* Mon Aug 01 2005 Peter Jones <pjones@redhat.com> - 0.93-4.8

- minor fix to the --recheck fix.

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


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