Bug 52023

Summary: system hangs when mounting IDE CD writer
Product: [Retired] Red Hat Linux Reporter: Mikel Ward <mikel>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED RAWHIDE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-08-19 13:12:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Mikel Ward 2001-08-19 00:32:12 UTC
Description of Problem:
I have two IDE CD drives in my system, the first (secondary master - hdc) 
is a Mitsumi FX-240 CD reader, and the second (secondary slave - hdd/sr0) 
is a Ricoh MP-7083A CD writer.

Mounting, unmounting, and reading using the Mitsumi reader works fine, 
but trying to mount a disk on the Ricoh writer causes the system to hang. 
 I first noticed this when inserting a CD in KDE 2, where the system 
attempted to automount the CD, but issuing "mount /mnt/cdrom1" also hangs 
(as does "mount /dev/sr0 /mnt/cdram").

The CD writer is an IDE drive using SCSI emulation, as configured by Red 
Hat (kudzu?).

Note that in trying to diagnose this problem, I renamed /dev/cdrom1 to 
/dev/cdram (which makes more sense to me), and removed the "kudzu" 
parameter to the CD-ROM drives from /etc/fstab.  The hang occurred before 
(and after) making these changes.

/etc/fstab contains:
LABEL=/                 /                       ext2    defaults        1 
LABEL=/boot             /boot                   ext2    defaults        1 
/dev/fd0                /mnt/floppy             auto    noauto,owner    0 
LABEL=/var              /var                    ext2    defaults        1 
LABEL=/home             /home                   ext2    defaults        1 
none                    /proc                   proc    defaults        0 
none                    /dev/pts                devpts  gid=5,mode=620  0 
/dev/hda7               swap                    swap    defaults        0 
/dev/cdrom              /mnt/cdrom              auto    noauto,owner,ro 0 
/dev/cdram             /mnt/cdram               auto    noauto,owner,ro 0 

/etc/sysconfig/hwconf previously contained something like:
class: IDE
desc: Mitsumi FX-240
device: hdc
class: SCSI
desc: Ricoh MP-7083A CD-R/CD-RW

However I deleted hwconf, and kudzu has not recreated entries for either 
CD drive.

/etc/lilo.conf contains the line:

lsmod shows:
ppp_async               6768   0  (autoclean)
ppp_generic            18032   0  (autoclean) [ppp_async]
sb                      7824   1  (autoclean)
sb_lib                 35760   0  (autoclean) [sb]
uart401                 6608   0  (autoclean) [sb_lib]
sound                  62112   1  (autoclean) [sb_lib uart401]
soundcore               4432   5  (autoclean) [sb_lib sound]
tdfx                   57840   1
autofs                 11136   1  (autoclean)
ne2k-pci                4864   1  (autoclean)
8390                    6752   0  (autoclean) [ne2k-pci]
ipchains               38944   0  (unused)
ide-scsi                8352   0
scsi_mod               94336   1  [ide-scsi]
ide-cd                 27104   1
cdrom                  27392   0  [ide-cd]
usb-uhci               20848   0  (unused)
usbcore                49632   1  [usb-uhci]

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

How Reproducible:

Steps to Reproduce:
1. issue "mount /mnt/cdrom1"

Actual Results:
the system hangs (does not respond to local mouse or keyboard events)

Expected Results:
the filesystem is mounted

Additional Information:
this bug may lie in
* kudzu
* ide-scsi
* mount
* other

running "cdrecord -scanbus" shows:
Cdrecord 1.9 (i686-pc-linux-gnu) Copyright (C) 1995-2000 Jvrg Schilling
Linux sg driver version: 3.1.17
Using libscg version 'schily-0.1'
        0,0,0     0) 'RICOH   ' 'CD-R/RW MP7083A ' '1.20' Removable CD-ROM
        0,1,0     1) *
        0,2,0     2) *
        0,3,0     3) *
        0,4,0     4) *
        0,5,0     5) *
        0,6,0     6) *
        0,7,0     7) *

i would like to try using the CD writer as an IDE drive, but am not sure 
how to (kudzu seems to always set the drive as a SCSI-IDE drive).

i will try to add more information as i find it, but it's annoying since 
reproducing the bug hangs the system :-)

Comment 1 Mikel Ward 2001-08-19 00:35:49 UTC
I just tried to issue mount with no CD in the drive (trying to avoid crashing
the system), and noticed this in the syslog:

Aug 19 10:37:16 air kernel: Attached scsi CD-ROM sr0 at scsi0, channel 0, id 
0, lun 0
Aug 19 10:37:16 air kernel: sr0: scsi3-mmc drive: 32x/32x writer cd/rw 
xa/form2 cdda tray
Aug 19 10:37:19 air kernel: cdrom: open failed.

Comment 2 Mikel Ward 2001-08-19 00:50:18 UTC
"mount -t iso9660 /dev/hdd /mnt/cdram" gives:
mount: wrong fs type, bad option, bad superblock on /dev/hdd,
       or too many mounted file systems
       (could this be the IDE device where you in fact use
       ide-scsi so that sr0 or sda or so is needed?)

/dev/cdram (previously /dev/cdrom1) is a symlink to /dev/scd0

SCSI devices:

IDE devices:
primary master - Quantum UDMA 33 hard disk
secondary master - Mitsumi FX240 CD reader
secondary slave - Ricoh MP7083A CD reader/writer

Comment 3 Bernhard Rosenkraenzer 2001-08-19 08:28:27 UTC
mount itself can't lock up the system - this must be happening in the mount 
system call, assigning to kernel

Comment 4 Arjan van de Ven 2001-08-19 08:32:13 UTC
As a test, could you boot the system with "ide=nodma" and see if it still hangs?

Comment 5 Mikel Ward 2001-08-19 13:12:08 UTC
I added "ide=nodma" to the kernel parameters, and rebooted.

After the reboot, I logged in as root and did "mount /mnt/cdrom1", and the 
filesystem was successfully mounted, so it looks very much like this worked.


Is this known to only affect certain drives or configurations, so that this
condition might be automatically detected and worked-around (by kudzu)?

Comment 6 Arjan van de Ven 2001-08-19 13:19:43 UTC
The 2.4 kernel will automatically enable (U)DMA on devices that claim to support
it. Several CDROM drives seem to advertise to support this but don't actually
do so. The kernel has a list of "known bad" devices and, surprise surprise,
the RICOH MP7083A was added to that list only a few weeks ago due to someone
else also seeing this. This means that the next kernel Red Hat will release will
just work without this parameter.

Also, "ide=nodma" will also disable DMA for your harddisks, this will cost
significant performance. You can achieve the same effect by adding a

"hdparm -d0 /dev/hdd" in one of the startupscripts

which is specific to your cdrw device, without also affecting the harddisks.

I'll close this bug as "fixed in rawhide" as the kernel in the rawhide (eg
experimental) version has this device already blacklisted. If you object to
that, or that kernel somehow doesn't fix it, please reopen this bug.