[comp.sys.amiga] Disk-Validator failure

saare@ibmpa.UUCP (John Saare) (01/04/89)

This is the problem:

	Hardware:
		A500 
		Pac. Per. SubSystem 500
		Overdrive SCSI Host Adapter
		Adaptec 4000a SCSI-ST506 xlator
		70Mb x 2 drives
		2.5Mb Memory (2Mb of which is in the repair shop...)

A low level format using the Overdrive utilities is performed.  The bad block
scan finds no errors (they never do, sigh...).  The drives are FFS formatted,
one partition per drive.  Fireworks, the Earth moves, etc., everything seems
to be working fine, THEN ONE DAY:
As a file is being written, a Volume R/W error requestor appears and I select
"cancel".  Using "protect", I quarantine the directory the error occurred in
and cross my fingers.  I use the system for a while THEN, ON ANOTHER DAY:
The machine crashes, for reasons related to my being 2Mb short.  The machine
reboots, and..., Disk-Validator has a go at the disk.  Because the bad block
is allocated, Disk-Validator tries to read it, and fails. So, given:
	- If I'd wanted a 70Mb R/O drive, I would have bought a CD-ROM.
	- I WILL NOT RE-FORMAT THE DRIVE !!! (ahem, didn't mean to shout...)
	- I'm willing to live with occasional bad sectors if AmigaDOS
	  will let me...
How can I get back a validated disk?  Can a "diskdoctor"ed
file system be used normally, or is re-formatting mandatory?  Are there
any utilities, commercial($$$) or PD($) that will remove specified/bad blocks
from the FFS free pool (is there such a thing in FFS?)?

And now in an act of utter desperation...
If somebody can ACCURATELY solve my problem, I'll promise to be a
better person and/or Usenet citizen.  I'll contribute more often, or
at all, even.  I'll participate in the discussions, but not fan the flames.

Thank you -- John Saare

papa@pollux.usc.edu (Marco Papa) (01/04/89)

In article <304@ibmpa.UUCP> saare@ibmpa.UUCP (John Saare) writes:
|This is the problem:
|	Hardware:
                ....
|		Overdrive SCSI Host Adapter
|		Adaptec 4000a SCSI-ST506 xlator
|		70Mb x 2 drives
|
|A low level format using the Overdrive utilities is performed.  The bad block
|scan finds no errors (they never do, sigh...).  

The Adaptec should first write the BAD BLOCK table DURING low-level format.
The bad block table is usually written on top of the drive. Very few 70M
disk are free of defects [though I've seen some].

|The drives are FFS formatted
|one partition per drive.  Fireworks, the Earth moves, etc., everything seems
|to be working fine, THEN ONE DAY:
|As a file is being written, a Volume R/W error requestor appears and I select
|"cancel".

I guess it found one of the BAD sectors that should have been entered at 
lo-level format (right after  MODE SELECT) time.  I recall Matt would "skip"
around these creating separate partitions.  

Anybody can help him with the rest?

-- Marco Papa 'Doc'
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
uucp:...!pollux!papa       BIX:papa       ARPAnet:pollux!papa@oberon.usc.edu
 "There's Alpha, Beta, Gamma and Diga!" -- Leo Schwab [quoting Rick Unland]
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

gay%elde.epfl.ch@cunyvm.cuny.edu (David Gay) (01/04/89)

In article <304@ibmpa.UUCP> saare@ibmpa.uucp (John Saare) writes:
>
>This is the problem:

[description removed]

>As a file is being written, a Volume R/W error requestor appears and I select
>"cancel".  Using "protect", I quarantine the directory the error occurred in
>and cross my fingers.  I use the system for a while THEN, ON ANOTHER DAY:
>The machine crashes, for reasons related to my being 2Mb short.  The machine
>reboots, and..., Disk-Validator has a go at the disk.  Because the bad block
>is allocated, Disk-Validator tries to read it, and fails. So, given:
>    - If I'd wanted a 70Mb R/O drive, I would have bought a CD-ROM.
>    - I WILL NOT RE-FORMAT THE DRIVE !!! (ahem, didn't mean to shout...)
>    - I'm willing to live with occasional bad sectors if AmigaDOS
>      will let me...
>How can I get back a validated disk?  Can a "diskdoctor"ed
>file system be used normally, or is re-formatting mandatory?  Are there
>any utilities, commercial($$$) or PD($) that will remove specified/bad blocks
>from the FFS free pool (is there such a thing in FFS?)?

The problem is that the validator will rebuild this "pool" (the bitmap),
hence one has to rerun such a program after every validation session (very
annoying). My hard disk came with such a program to map out bad blocks (in
the bitmap). However this has two disadvantages 1) see above, 2) Format fails
on the bad blocks ...  (You can get round this, but it is even more annoying).
I got so frustrated that I wrote myself a bad block mapper which replaces
all references to bad blocks with a block taken from a track that I reserved
(0, but could be any really).

I can send you this program (though it's still in a rather hacked state:
it could use less memory, it never exits, it doesn't do much checking ...),
however you said you didn't want to reformat your hard disk (Just one
advantage, once you've setup the bad block map (reserved a track), you can
map out extra bad blocks w/o reformatting the disk).

There is also a commercial program that reserves bad blocks, that comes with
the Disk Mechanic. A friend of mine has it, but he tells me he's never got it
to work ... (It crashes halfway through apparently).

Finally, you could fool around with a disk editor and put the bad block in
a special file that you will never read (you can always set the protection
bits). I guess it's currently marked as belonging to a file header, directory,
... seeing that the validator tries to read it.

>
>And now in an act of utter desperation...
>If somebody can ACCURATELY solve my problem, I'll promise to be a
>better person and/or Usenet citizen.  I'll contribute more often, or
>at all, even.  I'll participate in the discussions, but not fan the flames.
>
>Thank you -- John Saare

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
David Gay                       Another mad amigan
GAY@ELDE.EPFL.CH, or GAY%ELDE.EPFL.CH@CEARN.bitnet

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

P.S. A "techish" question: which io_Commands must a filing system device
provide ? My program traps CMD_READ, CMD_WRITE and TD_FORMAT. Is that
sufficient ?

steveb@cbmvax.UUCP (Steve Beats) (01/05/89)

In article <6214@louie.udel.EDU> version B 2.10.3 4.3bsd-beta 6/6/85; site cbmvax.UUCP cbmvax!bpa!rutgers!gatech!udel!mmdf gay%elde.epfl.ch@cunyvm.cuny.edu (David Gay) writes:
>
>P.S. A "techish" question: which io_Commands must a filing system device
>provide ? My program traps CMD_READ, CMD_WRITE and TD_FORMAT. Is that
>sufficient ?

A filing system will call a device with the following io_Commands :-

	CMD_READ
	CMD_WRITE
	CMD_FLUSH
	TD_MOTOR

In addition, the format command will use TD_FORMAT.  That's about the minimum
a device driver can get away with, though SEEK and CLEAR should be supported
too.  Oh yes, the device/library entry points that MUST be present are Init, 
Open, Close, BeginIO and Expunge.

	Steve

gay%elde.epfl.ch@cunyvm.cuny.edu (David Gay) (01/06/89)

Re: my previous posting

My ramblings about mapping out bad blocks would not have been if I had
noticed the SCSI in the poster's question ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
David Gay                       Another mad amigan
GAY@ELDE.EPFL.CH, or GAY%ELDE.EPFL.CH@CEARN.bitnet

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~