problem with copying from cdrom to disk

Lieven Marchand (mal@bewoner.dma.be)
Fri, 04 Apr 1997 07:54:55 +0200


Greetings, kernel-gurus

I have had a weird problem whilst trying to install Allegro CL for
Linux.
The installation guide describes as first step a complete copy of the
cdrom.
They give the following command for that:
(cd /mnt/cdrom ; tar cvf - . ) | tar xvf -
which is pretty standard. When I tried that after copying a few files it
kept
repeating the folling messages:
.....
hdb : tray open
end_request: I/O error, dev 03:40, sector 9145
hdb : tray open
end_request: I/O error, dev 03:40, sector 9149
hdb : tray open
end_request: I/O error, dev 03:40, sector 9153
hdb : tray open
end_request: I/O error, dev 03:40, sector 9157
hdb : tray open
end_request: I/O error, dev 03:40, sector 9161
.....

I have an EIDE card with an Quantum Fireball on hda, a NEC ATAPI cdrom
on hdb
and a Fujitsu M1638TAU 2.5 GB on hdc. The copy happened between hdb and
hdc.
When I tried the copy with other commands between hdb and hdc the same
problem
occured (for instance cp -r ).
Now when I tried the same command but in 2 stages:

cd /home/mal/acl4.3 # somewhere on hda
(cd /mnt/cdrom ; tar cvf - . ) | tar xvf -
cd /mnt/spare/acl4.3 # somewhere on hdc
(cd /home/mal/acl4.3; tar cvf - . ) | tar xvf -

everything went fine.The immediate problem is obviously solved, but does
anybody have an idea what
the underlying reason could be? The Fujitsu disk has only been installed
a few
weeks ago, but has seen plenty of exercise since ( a couple of
recompiles of
glibc2 among other things).

After seeing this piece of code in ide-cd.c
if (sense_key == NOT_READY) {
/* Tray open. */
cdrom_saw_media_change (drive);

/* Fail the request. */
printk ("%s : tray open\n",
drive->name);
cdrom_end_request (0, drive);
} else if (sense_key == UNIT_ATTENTION) {
it would seem the drive gave back NOT_READY signals, perhaps because it
could
not follow the faster hard drive?

Configuration info follows.

Lieven Marchand <mal@bewoner.dma.be>
--------------------------------------------------------------------------------
Few people have a talent for constructive laziness. -- Lazarus Long

extract from booting messages:
Linux version 2.0.13 (root@tower.palanthas.krynn) (gcc version 2.7.2) #1
Sun Sep
8 15:32:27 MET DST 1996
hda: QUANTUM FIREBALL1080A, 1039MB w/83kB Cache, LBA, CHS=528/64/63
hdb: NEC CD-ROM DRIVE:272, ATAPI CDROM drive
hdc: FUJITSU M1638TAU, 2452MB w/128kB Cache, LBA, CHS=4982/16/63
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >
hdc: hdc1
Kernel configuration:
#
# Automatically generated make config: don't edit
#

#
# Code maturity level options
#
# CONFIG_EXPERIMENTAL is not set

#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KERNELD=y

#
# General setup
#
# CONFIG_MATH_EMULATION is not set
CONFIG_NET=y
# CONFIG_MAX_16M is not set
# CONFIG_PCI is not set
CONFIG_SYSVIPC=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
# CONFIG_M386 is not set
CONFIG_M486=y
# CONFIG_M586 is not set
# CONFIG_M686 is not set

#
# Floppy, IDE, and other block devices
#
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDE_PCMCIA is not set
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_IDE_CHIPSETS is not set

#
# Additional Block Devices
#
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_DEV_HD is not set

#
# Networking options
#
# CONFIG_FIREWALL is not set
# CONFIG_NET_ALIAS is not set
CONFIG_INET=y
# CONFIG_IP_FORWARD is not set
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ACCT is not set

#
# (it is safe to leave these untouched)
#
# CONFIG_INET_PCTCP is not set
# CONFIG_INET_RARP is not set
# CONFIG_NO_PATH_MTU_DISCOVERY is not set
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y

##
#
#
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_AX25 is not set
# CONFIG_NETLINK is not set

#
# SCSI support
#
# CONFIG_SCSI is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
# CONFIG_EQUALIZER is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_RADIO is not set
# CONFIG_NET_ETHERNET is not set
# CONFIG_TR is not set
# CONFIG_ARCNET is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Filesystems
#
# CONFIG_QUOTA is not set
# CONFIG_LOCK_MANDATORY is not set
CONFIG_MINIX_FS=y
# CONFIG_EXT_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_XIA_FS is not set
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
# CONFIG_VFAT_FS is not set
# CONFIG_UMSDOS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_NFS_FS is not set
# CONFIG_SMB_FS is not set
CONFIG_ISO9660_FS=y
CONFIG_HPFS_FS=m
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Character devices
#
CONFIG_SERIAL=y
# CONFIG_DIGI is not set
# CONFIG_CYCLADES is not set
# CONFIG_STALDRV is not set
# CONFIG_RISCOM8 is not set
# CONFIG_PRINTER is not set
# CONFIG_MOUSE is not set
# CONFIG_UMISC is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_FTAPE is not set
# CONFIG_APM is not set
# CONFIG_WATCHDOG is not set
# CONFIG_RTC is not set

#
# Sound
#
CONFIG_SOUND=y
CONFIG_LOWLEVEL_SOUND=y
# CONFIG_ACI_MIXER is not set

#
# Kernel hacking
#
# CONFIG_PROFILE is not set