Bug 57351 - can't load ide-scsi on machine with both ide cdrom and scsi cdrom
Summary: can't load ide-scsi on machine with both ide cdrom and scsi cdrom
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: initscripts
Version: 7.2
Hardware: i686
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Bill Nottingham
QA Contact: Brock Organ
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-12-10 18:30 UTC by Need Real Name
Modified: 2014-03-17 02:24 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2002-01-28 17:45:03 UTC
Embargoed:


Attachments (Terms of Use)

Description Need Real Name 2001-12-10 18:30:40 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.78 [en] (Win95; U)

Description of problem:


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


How reproducible:
Always

Steps to Reproduce:
1.put machine together 
2.turn it on
3.
	

Actual Results:  loading of ide-cdrom with kernel prevents loading of ide-scsi driver as script is wrong

Additional info:

line in /etc/rc.d/rc.sysinit currently reads
# If they asked for ide-scsi, load it
if grep -q "ide-scsi" /proc/cmdline ; then
        modprobe ide-cd >/dev/null 2>&1
        modprobe ide-scsi >/dev/null 2>&1
fi
it should read
 # If they asked for ide-scsi, load it
if grep -q "ide-scsi" /proc/cmdline ; then
        modprobe -r  ide-cd >/dev/null 2>&1
        modprobe ide-scsi >/dev/null 2>&1
fi

Comment 1 Joe Krahn 2002-01-02 15:59:53 UTC
Norm Green wrote:
> It appears that the kernel (2.4.7-10) has the ide-cd mod loaded for hdc
> by the time the /etc/rc.sysinit script is run.

This has always been the case with Linux; ide-cd automatically
gets precedence over ide-scsi while linux is loading, before
any init scripts get a chance. The proper way around it is to
identify drives for ide-scsi with kernel arguments. In LILO:
	append="hdb=ide-scsi"
Look for the above string in the CD-Writing HOWTO.

Of course, with modules, you can just unload ide-cd and let
ide-scsi take over. But, that won't let somebody leave one
of two IDE drives as ide-cd, which normally doesn't matter.

An even better way with modules is to add
this to your /etc/modules.conf:
  options ide-cd ignore=hdb

But then the modules should get automatically loaded, and that
rc.sysinit stuff RedHat did isn't needed. SO, I'm not sure what
RedHat is doing there. Maybe they really do want to force all to
ide-scsi, as your version does.

Joe Krahn

Comment 2 Need Real Name 2002-01-26 16:21:14 UTC
The whole point is that the rc. sysinit is wrong, if you look at what it tries
to do you will see that it looks for the string idc-scsi in the kernel arguments
and the tries to load ide-cd with modprobe, it fails because it is all ready
loaded, then it tries to load ide-scsi this also fails because the device is
already using ide-cd.  The first modeprobe should be modprobe -r to unload the
module so the second statement can load ide-scsi for the device.

Comment 3 Joe Krahn 2002-01-28 17:44:58 UTC
I think that correct kernel arguments and/or modules.conf entries
will direct the right driver to the right IDE CDROM. Maybe there's
a case where this isn't true. Whatever the solution is, be sure to
allow for one system with two IDE CDROMs to support one via
ide-scsi and one via ide-cd. (Right now, I need this for a system
that has one CD-RW, but can lock up if both use ide-scsi and are
under a load. There may also be non-bug reasons for having ide-cd
on only one drive.)

Also beware that rmmod-ing a cdrom's driver and then modprobing it
back has the effect of incrementing the drive number for devfs
users, and is therefore best avoided.


Comment 4 Bill Nottingham 2002-04-10 06:11:15 UTC
I think the current situation is right... the installer adds
'hd<something>=ide-scsi' to the kernel commandline arguments if a CD-R/CD-RW/etc
is detected. This causes that device to be ignored by ide-cd, and then ide-scsi
can take it.


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