Subject: disk woes with isp driver in -currennt
To: None <current-users@netbsd.org>
From: Sean M. Doran <smd@adm.ebone.net>
List: current-users
Date: 07/25/1999 00:36:53
I've just discovered what seems to be a bad block in a SCSI disk,
which normally works just fine.   Under -current (today's sources)
the relevant dmesg bits are:

isp0 at pci0 dev 8 function 0
isp0: interrupting at irq 15
isp0: Ultra Mode Capable
isp0: Board Revision 1040B, loaded F/W Revision 7.63.0
isp0: Last F/W revision was 4.50.0
isp0: driver initiated bus reset of bus 0
scsibus0 at isp0: 16 targets, 8 luns per target
isp0: Bus 0 Target 0 Async Mode
sd0 at scsibus0 targ 0 lun 0: <IBM, DGHS09U, 0350> SCSI3 0/direct fixed
sd0: 8748 MB, 8152 cyl, 10 head, 219 sec, 512 bytes/sect x 17916240 sectors
...
isp0: Bus 0 Target 0 at 20MHz Max Offset 8, 16 bit wide, Tagged Queueing Enabled

This error message spews out onto the console while a process is writing
to the partition in which the bad block lives:

isp0: Bus 0 Target 0 at 20MHz Max Offset 8, 16 bit wide, Tagged Queueing Enabled
sd0(isp0:0:0):  Check Condition on CDB: 0x28 00 00 78 52 0e 00 00 20 00
    SENSE KEY:  Media Error
   INFO FIELD:  7885355
     ASC/ASCQ:  Uncorrected Read Error - Recommend Reassignment
         SKSV:  Actual Retry Count: 43

isp0: Bus 0 Target 0 at 20MHz Max Offset 8, 16 bit wide, Tagged Queueing Enabled
sd0(isp0:0:0):  Check Condition on CDB: 0x28 00 00 78 52 0e 00 00 20 00
    SENSE KEY:  Media Error
   INFO FIELD:  7885355
     ASC/ASCQ:  Uncorrected Read Error - Recommend Reassignment
         SKSV:  Actual Retry Count: 43

isp0: Bus 0 Target 0 at 20MHz Max Offset 8, 16 bit wide, Tagged Queueing Enabled
sd0(isp0:0:0):  Check Condition on CDB: 0x28 00 00 78 52 0e 00 00 20 00
    SENSE KEY:  Media Error
   INFO FIELD:  7885355
     ASC/ASCQ:  Uncorrected Read Error - Recommend Reassignment
         SKSV:  Actual Retry Count: 43

When I try to reassign the badblock using scsictl(8), I get:

/dev/rsd0d: SCSI command timed out
/dev/rsd0d: device is busy
/dev/rsd0d: Check Condition on CDB: 07 84 04 08 e4 cc
    SENSE KEY: Illegal Request
     ASC/ASCQ: Illegal Field in CDB

 Additional Sense Information (byte 18 out...):

        18: 0x00 0x00 0x01 0x32 0x00 0x00
        24: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00

I see this in single user mode, and I see this even if I boot
from another disk, and don't touch the one giving the error until
I do the scsictl.  "device is busy" seems misleading, therefore.

What should I do?  (Other than make backups; I've done that already, thanks).

	Sean.