[comp.sys.att] Step rate on 2nd hard drive

sbw@naucse.UUCP (Steve Wampler) (08/29/89)

Sigh.  I had forgotten that iv cann't be used to change the VHB
on a drive with >1024 cylinders.  Is there another (easy) way
to change the step-rate on such a drive?  Will the extended
diagnostics let me do it without munging the existing file
system?

I suppose I could open /dev/rfp010 and read in the VHB myself,
but I don't have a layout of the VHB.  (Since the step-rate
change only takes effect on reboots, this would work, wouldn't it?)
-- 
	Steve Wampler
	{....!arizona!naucse!sbw}

lenny@icus.islp.ny.us (Lenny Tropiano) (08/29/89)

In article <1666@naucse.UUCP> sbw@naucse.UUCP (Steve Wampler) writes:
|>Sigh.  I had forgotten that iv cann't be used to change the VHB
|>on a drive with >1024 cylinders.  Is there another (easy) way
|>to change the step-rate on such a drive?  Will the extended
|>diagnostics let me do it without munging the existing file
|>system?
|>
...
I made a program that would patch iv(1M) to allow >1024 cylinders.
It was posted to unix-pc.sources a while back, if you never received
it, let me know.  Of course IT'S UNTESTED.  I don't think it would hurt
your disk, but I couldn't guarantee.  Backups are of course suggested.

|>I suppose I could open /dev/rfp010 and read in the VHB myself,
|>but I don't have a layout of the VHB.  (Since the step-rate
|>change only takes effect on reboots, this would work, wouldn't it?)

The layout for the VHB is in /usr/include/sys/gdisk.h:


/*	volume home block on disk	*/
struct vhbd {
	uint	magic;		/* S4 disk format code */
	int	chksum;		/* adjustment so that the 32 bit sum starting
				   from magic for 512 bytes sums to -1 */
	struct	gdswprt dsk;	/* specific description of this disk */
	...

You could write a program that opened up /dev/rfp010, read in struct vhbd
and then change vhb.dsk.step = 14 and write it back out (basically what
iv(1M) does...) 

Hope this helps,
Lenny
-- 
Lenny Tropiano             ICUS Software Systems         [w] +1 (516) 589-7930
lenny@icus.islp.ny.us      Telex; 154232428 ICUS         [h] +1 (516) 968-8576
{ames,pacbell,decuac,hombre,talcott,sbcs}!icus!lenny     attmail!icus!lenny
        ICUS Software Systems -- PO Box 1; Islip Terrace, NY  11752

jcm@mtunb.ATT.COM (was-John McMillan) (09/01/89)

In article <950@icus.islp.ny.us> lenny@icus.islp.ny.us (Lenny Tropiano) writes:
:
>You could write a program that opened up /dev/rfp010, read in struct vhbd
>and then change vhb.dsk.step = 14 and write it back out (basically what
>iv(1M) does...) 
:

For your own peace of disk, understand and maintain the required
check sums if you are going to re-write critical disk blocks.

As I recall...
	The VHB is checksum'd to -1;
	The bad block list is likewise checksum'd.

john mcmillan	-- att!mtunb!jcm