.\" Copyright (c) 1990, 1991 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Systems Programming Group of the University of Utah Computer .\" Science Department. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)st.4 5.3 (Berkeley) 7/31/91 .\" $Id: st.4,v 1.1 1995/10/18 08:44:28 deraadt Exp $ .\" .Dd July 31, 1991 .Dt ST 4 hp300 .Os .Sh NAME .Nm \&st .Nd .Tn CCS SCSI tape driver .Sh SYNOPSIS .Cd "tape st0 at scsi? slave ?" .Sh DESCRIPTION The .Nm \&st driver was written especially to support the Exabyte .Tn EXB-8200 8MM Cartridge Tape Subsystem. It has several extensions specific to the Exabyte, but should support other tape drives as long has they follow the .Tn ANSI SCSI-I specification. Besides extensive use with an Exabyte, the driver has been tested with an Archive .Tn QIC-24 tape drive. The .Nm \&st tape interface provides a standard tape drive interface as described in .Xr mtio 4 with the following exceptions: .Bl -enum .It Density is dependent on device type. Current Exabyte hardware has only one density. The .Tn EXB-8500 drive, when released, will have a high density format of .Tn 5.6GB . On an Archive .Tn QIC-24 drive the driver reads both .Tn QIC-11 and .Tn QIC-24 formats but writes only .Tn QIC-24 . .It Only the ``raw'' interface is supported. .El .Pp Special Exabyte Support: .Pp The .Dv MTIOCGET .Xr ioctl 2 call on an Exabyte returns this structure: .Bd -literal struct mtget { short mt_type; /* type of magtape device */ short mt_dsreg; /* sc_flags */ short mt_erreg; /* high 8 bytes error status */ /* low 8 bytes percentage of Rewrites if writing, ECC errors if reading */ short mt_resid; /* Mbyte until end of tape */ }; .Ed .Pp Bit 4 in the minor device number is used to select long filemarks or short filemarks. A long filemark occupies 2.12 MBytes of space on the tape, while a short filemark occupies 488 KBytes. A long filemark includes an erase gap while the short filemark does not. The tape can be positioned on the .Tn BOT side of a long filemark allowing data to be appended with a write operation. Since the short filemark does not contain an erase gap which would allow writing it is considered to be non-erasable. If either type of filemark is followed by blank tape, data may be appended on its .Tn EOT side. .Pp Bit 5 in the minor device number selects fixed block mode with a block size of 1K. Variable length records are the default if bit 5 is not set. .Pp For unit 0 here are the effects of minor device bits 2,3,4,5. For other units add the .Em unit# to each of the device names. .Bl -column norewind density filemarks -offset indent .Em norewind high short fixed .Em density filemarks block mode rst0 nrst0 X rst8 X nrst8 X X rst16 X nrst16 X X rst24 X X nrst24 X X X rst32 X nrst32 X X rst40 X X nrst40 X X X rst48 X X nrst48 X X X rst56 X X X nrst56 X X X X .El .Sh SEE ALSO .Xr mt 1 , .Xr tar 1 , .Xr mtio 4 , .Rs .%T EXB-8200 8MM Cartridge Tape Subsystem Interface User Manual. .Re .Sh HISTORY The .Nm \&st driver .Ud .Sh BUGS The .Tn HP 98268 .Tn SCSI controller hardware can not do odd length .Tn DMA transfers. If odd length .Tn DMA I/O is requested the driver will use the "Program Transfer Mode" of the Fujitsu .Tn MB87030 chip. Read requests are normally even length for which a .Tn DMA transfer is used. If, however, the driver detects that a odd length read has happened (when a even length was requested) it will issue the .Dv EIO error and the last byte of the read data will be 0x00. Odd length read requests must match the size of the requested data block on tape. .Pp The following only applies when using long filemarks. Short filemarks can not be overwritten. .Bd -filled -offset 4n Due to the helical scan and the erase mechanism, there is a writing limitation on Exabyte drives. .Dq Li tar r or .Dq Li tar u will not work .Pf ( Dq Li tar c is ok). One can only start writing at 1) beginning of tape, 2) on the end of what was last written, 3) "front" side of a regular (long) filemark. Say you have a tape with 3 tar files on it, want to save the first file, and want to begin writing over the 2nd file. .Pp On a normal 1/4" or 1/2" drive you would do: .Pp .Li "mt fsf 1; tar cf /dev/nrst0 ..." .Pp but for an Exabyte you need to do: .Pp .Li "mt fsf 1; mt bsf 1; mt weof 1; tar cf /dev/nrst0 ..." .Pp The regular long filemark consists of an erased zone 3.8" long (needed to begin a write). In this case, the first filemark is rewritten in place, which creates an erased zone .Em after it, clearing the way to write more on the tape. The erase head is not helical. .Pp One can position a tape to the end of what was last written by reading until a .Tn \*qBLANK CHECK\*q error is returned. Writing can be started at this point. (This applies to both long and short filemarks.) The tape does not become positioned somewhere down the "erased" area as does a conventional magtape. One can issue multiple reads at the .Tn \*qBLANK CHECK\*q error, but the Exabyte stays positioned at the beginning of the blank area, ready to accept write commands. File skip operations do not stop at blank tape and will run into old data or run to the end of the tape, so you have to be careful not to .Dq Li mt fsf too_many . .Ed .Pp Archive support gets confused if asked to moved more filemarks than there are on the tape. .Pp This man page needs some work. Some of these are not really bugs, just unavoidable consequences of the hardware.