[117] in linux-scsi channel archive
CD 'jukebox' woes
daemon@ATHENA.MIT.EDU (John Paul Morrison)
Sun Mar 26 23:30:55 1995
From: jmorriso@bogomips.ee.ubc.ca (John Paul Morrison)
To: linux-scsi@vger.rutgers.edu
Date: Sat, 25 Mar 1995 12:09:42 -0800 (PST)
I've got a problem with a Pioneer DRM-602X 6 CDROM changer that I
believe can be fixed (kludged?) in the SCSI code.
The drive works fine when any ONE CD is accessed, but the drive
"deadlocks" when two processes try to access files that are on
different CDs in the CD changer.
I think a workaround is to make sure that only one CD disk (LUN) is
accessed at any time.
Some background:
The host adapter is an Adaptec 2842, with the aic7xxx driver. 1 Gig
Quantum Empuire SCSI ID 0, Pioneer DRM-602X on ID 1. I added a #define
CONFIG_SCSI_MULTI_LUN to scsi.h
The kernel detects everything OK, I can access each CD as
/dev/scd0 .. scd5
I can mount several CDs at the same time, when I access one CD then
another, the Pioneer switches disks, which takes about 5 to 10
seconds. The Linux buffer cache seems to work fairly well, I can
access other disks and if its in the cache, it doesn't have to switch
CDs again.
But if two processes access two different CDs (say /dev/scd0 and
/dev/scd1) it's OK while it's reading from the buffer cache, but when
they each need to read the disk, the processes get stuck in disk
waits, and never return. At this point I have to power cycle the
Pioneer and the Linux machine (although the Linux machine doesnt hang
except for the CDrom bound processes)
Thanks for any help