rb(4)
NAME
rb − IDC/RL02 disk interface
SYNTAX
controller idc0 at uba? csr 0175606 vector idcintr
disk rb0 at idc0 drive 0
DESCRIPTION
Files with minor device numbers 0 through 7 refer to various portions of drive 0; minor devices 8 through 15 refer to drive 1, and so forth. The standard device names begin with rb followed by the drive number and then a letter a through h for partitions 0 through 7 respectively. The character ? stands here for a drive number in the range 0 through 7.
The block files access the disk by the system’s normal buffering mechanism and may be read and written without regard to physical disk records. There is also a raw interface, which provides for direct transmission between the disk and the user’s read or write buffer. A single read or write call results in exactly one I/O operation and therefore raw I/O is considerably more efficient when many words are transmitted. The names of the raw files conventionally begin with an extra r.
Although RL02 disks have 256-byte sectors, the driver emulates 512-byte sectors. Raw I/O counts should be a multiple of 512 bytes (a normal disk sector). Likewise, seek calls should specify a multiple of 512 bytes.
The origin and size (in 512-byte sectors) of the pseudodisks on each drive are as follows:
RL02 partitions:
diskstartlengthcyl
rb?a0158840-397
rb?b158844520398-510
rb?c0204800-511
rb?d158844520398-510
rb?g0204800-511
RESTRICTIONS
In raw I/O, read() and write() truncate file offsets to 512-byte block boundaries, and write overwrites the tail of incomplete blocks. Thus, in programs that are likely to access raw devices, read(2), write() and lseek() should always deal in 512-byte multiples.
DIAGNOSTICS
The following messages are printed at the console:
rb%d%c: hard error sn%d.
An unrecoverable error occurred during transfer of the specified sector of the specified disk partition. Either the error was unrecoverable, or a large number of retry attempts (including offset positioning and drive recalibration) could not recover the error. Additional register information may be gathered from the system error log file, /usr/adm/syserr/syserr.<hostname>.
rb%d: write protected.
The write protect switch was set on the drive when a write was attempted. The write operation is not recoverable.
idc%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. 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.
FILES
/dev/rb???
/dev/rrb???