[comp.sys.amiga] Key out of range errors

dwjz@bcarh660.BNR.CA (Doug Zolmer) (11/22/90)

I'm having a recurring problem with my harddrive.  I have a Microbotics
Hardframe 2000 controller and a Quantum Pro40S drive.  There are two 
20 Mb partitions on the drive.  Partition DH0: uses cylinders 1 thru
416 and parition DH1: uses cylinders 417 thru 833.  There are 49 blocks
per track, so each parition should have 40866 blocks, ranging from 0 to
40865.  Each partition is using FFS and I'm using WB 1.3.2.
 
The problem occurs only on DH1:.  Whenver I write something to it, I get
a "Disk Corrupt" requester.  When I reboot, the validator complains of
"Key 40866 out of range."  Why does AmigaDOS try to write to a block that
doesn't exist?  Now, if I use FixDisk, it complains that block 40866 has
an invalid header.  Of course it does!  There is no block 40866!  If I
get fixdisk to "repair" the header, the disk validates but the problem
recurrs the next time I try to write something to it.  Can anybody offer
any helpful comments or suggestions?
 
Thanks in advance...
 
Doug Zolmer
 
Thanks in advance...


    Doug Zolmer                 | uunet!bnrgate!dwjz%bcarh660    
    Bell-Northern Research Ltd. | dwjz@bnr.ca 
    +1 613 763 8217             | 
                   All opinions are mine only.  

lphillips@lpami.wimsey.bc.ca (Larry Phillips) (11/22/90)

In <4930@bwdls58.UUCP>, dwjz@bcarh660.BNR.CA (Doug Zolmer) writes:
>I'm having a recurring problem with my harddrive.  I have a Microbotics
>Hardframe 2000 controller and a Quantum Pro40S drive.  There are two 
>20 Mb partitions on the drive.  Partition DH0: uses cylinders 1 thru
>416 and parition DH1: uses cylinders 417 thru 833.  There are 49 blocks
>per track, so each parition should have 40866 blocks, ranging from 0 to
>40865.  Each partition is using FFS and I'm using WB 1.3.2.
> 
>The problem occurs only on DH1:.  Whenver I write something to it, I get
>a "Disk Corrupt" requester.  When I reboot, the validator complains of
>"Key 40866 out of range."  Why does AmigaDOS try to write to a block that
>doesn't exist?  Now, if I use FixDisk, it complains that block 40866 has
>an invalid header.  Of course it does!  There is no block 40866!  If I
>get fixdisk to "repair" the header, the disk validates but the problem
>recurrs the next time I try to write something to it.  Can anybody offer
>any helpful comments or suggestions?

I assume you have it specified as 2 heads (surfaces), since 49*834 is 40866
blocks.

If you'd care to email me your mountlist, I'll take a look at it and see what I
can spot. You can get a mountlist with rdprepx as follows ...

rdprepx -u0 -sUnit0.mountlist

This will generate a mountlist looking file called "Unit0.mountlist", and will
get its information from unit 0 (-u0).

-larry

--
The only things to survive a nuclear war will be cockroaches and IBM PCs.
+-----------------------------------------------------------------------+ 
|   //   Larry Phillips                                                 |
| \X/    lphillips@lpami.wimsey.bc.ca -or- uunet!van-bc!lpami!lphillips |
|        COMPUSERVE: 76703,4322  -or-  76703.4322@compuserve.com        |
+-----------------------------------------------------------------------+