NAME
hk —
RK6-11/ RK06 and RK07 disk
interface
SYNOPSIS
hk0 at uba? csr 0177440 vector rkintr
rk0 at hk0 drive 0
DESCRIPTION
NOTE: This driver has not been ported from
4.4BSD yet.
The
hk driver is a typical block-device disk driver; block
device I/O is described in
physio(4).
The script
MAKEDEV(8) should
be used to create the special files; if a special file needs to be created by
hand consult
mknod(8).
DISK SUPPORT
Special file names begin with ‘
hk
’ and
‘
rhk
’ for the block and character files
respectively. The second component of the name, a drive unit number in the
range of zero to seven, is represented by a
‘
?
’ in the disk layouts below. The last
component is the file system partition which is designated by a letter from
‘
a
’ to
‘
h
’. and corresponds to a minor device
number set: zero to seven, eight to 15, 16 to 23 and so forth for drive zero,
drive two and drive three respectively. The location and size (in sectors) of
the partitions for the RK06 and RK07 drives are as follows:
- RK07 partitions
-
disk |
start |
length |
cyl |
hk?a |
0 |
15884 |
0-240 |
hk?b |
15906 |
10032 |
241-392 |
hk?c |
0 |
53790 |
0-814 |
hk?d |
25938 |
15884 |
393-633 |
hk?f |
41844 |
11792 |
634-814 |
hk?g |
25938 |
27786 |
393-813 |
- RK06 partitions
-
disk |
start |
length |
cyl |
hk?a |
0 |
15884 |
0-240 |
hk?b |
15906 |
11154 |
241-409 |
hk?c |
0 |
27126 |
0-410 |
On a dual RK-07 system partition hk?a is used for the root for one drive and
partition hk?g for the /usr file system. If large jobs are to be run using
hk?b on both drives as swap area provides a 10Mbyte paging area. Otherwise
partition hk?c on the other drive is used as a single large file system.
FILES
- /dev/hk[0-7][a-h]
- block files
- /dev/rhk[0-7][a-h]
- raw files
DIAGNOSTICS
- hk%d%c: hard error %sing fsbn %d[-%d]
cs2=%b ds=%b er=%b.
- An unrecoverable error occurred during transfer of the
specified filesystem block number(s), which are logical block numbers on
the indicated partition. The contents of the cs2, ds and er registers are
printed in octal and symbolically with bits decoded. The error was either
unrecoverable, or a large number of retry attempts (including offset
positioning and drive recalibration) could not recover the error.
- rk%d: write locked.
- The write protect switch was set on the drive when a write
was attempted. The write operation is not recoverable.
- rk%d: not ready.
- The drive was spun down or off line when it was accessed.
The I/O operation is not recoverable.
- rk%d: not ready (came back!).
- The drive was not ready, but after printing the message
about being not ready (which takes a fraction of a second) was ready. The
operation is recovered if no further errors occur.
- rk%d%c: soft ecc reading fsbn
%d[-%d].
- A recoverable ECC error occurred on the specified
sector(s) in the specified disk partition. This happens normally a few
times a week. If it happens more frequently than this the sectors where
the errors are occurring should be checked to see if certain cylinders on
the pack, spots on the carriage of the drive or heads are indicated.
- hk%d: lost interrupt.
- A timer watching the controller detected no interrupt for
an extended period while an operation was outstanding. This indicates a
hardware or software failure. There is currently a hardware/software
problem with spinning down drives while they are being accessed which
causes this error to occur. The error causes a UNIBUS reset, and retry of
the pending operations. If the controller continues to lose interrupts,
this error will recur a few seconds later.
SEE ALSO
vax/hp(4),
vax/uda(4),
vax/up(4),
syslogd(8)
HISTORY
The
hk driver appeared in
4.1BSD.
BUGS
The
write(2) function scribbles
on the tail of incomplete blocks.
DEC-standard error logging should be supported.
A program to analyze the logged error information (even in its present reduced
form) is needed.
The partition tables for the file systems should be read off of each pack, as
they are never quite what any single installation would prefer, and this would
make packs more portable.
The RK07 g partition size in rk.c disagrees with that in
/etc/disktab.