for descriptions of these options.
In the event of linkrot etc., the relevant section follows (note to Larry
Ellison: Please don't sue me)
ST_VARIABLE
The flag indicates the tape device supports variable length record
sizes.
ST_QIC
The flag indicates a Quarter Inch Cartridge (QIC) tape device.
ST_REEL
The flag indicates a 1/2-inch reel tape device.
ST_BSF
If flag is set, the device supports backspace over EOF marks (bsf -
see mt(1)).
ST_BSR
If flag is set, the tape device supports the backspace record
operation (bsr - see mt(1)). If the device does not support bsr, the
st driver emulates the action by rewinding the tape and using the
forward space record (fsf) operation to forward the tape to the
correct file. The driver then uses forward space record (fsr - see
mt(1)) to forward the tape to the correct record.
ST_LONG_ERASE
The flag indicates the tape device needs a longer time than normal to
erase.
ST_AUTODEN_OVERRIDE
The auto-density override flag. The device is capable of determining
the tape density automatically without issuing a
"mode-select"/"mode-sense command."
ST_NOBUF
The flag disables the device's ability to perform buffered writes. A
buffered write occurs when the device acknowledges the completion of a
write request after the data has been written to the device's buffer,
but before all of the data has been written to the tape.
ST_KNOWS_EOD
If flag is set, the device can determine when EOD (End of Data) has
been reached. When this flag is set, the st driver uses fast file
skipping. Otherwise, file skipping happens one file at a time.
ST_UNLOADABLE
The flag indicates the device will not complain if the st driver is
unloaded and loaded again (see modload(1M) and modunload(1M)). That
is, the driver will return the correct inquiry string.
ST_SOFT_ERROR_REPORTING
The flag indicates the tape device will perform a "request sense" or
"log sense" command when the device is closed. Currently, only Exabyte
and DAT drives support this feature.
ST_LONG_TIMEOUTS
The flag indicates the tape device requires timeouts that are five
times longer than usual for normal operation.
ST_NO_RECSIZE_LIMIT
The flag applies to variable-length tape devices. If this flag is set,
the record size is not limited to a 64 Kbyte record size. The record
size is only limited by the smaller of either the record size
supported by the device or the maximum DMA transfer size of the
system. (Refer to Large Record Sizes and WARNINGS.) The maximum block
size that will not be broken into smaller blocks can be determined
from the mt_bf returned from the MTIOCGET ioctl(). This number is the
lesser of the upper block limit returned by the drive from READ BLOCK
LIMITS command and the dma-max property set by the Host Bus Adapter
(HBA) to which the drive is attached.
ST_MODE_SEL_COMP
If the ST_MODE_SEL_COMP flag is set, the driver determines which of
the two mode pages the device supports for selecting or deselecting
compression. It first tries the Data Compression mode page (0x0F); if
this fails, it tries the Device Configuration mode page (0x10). Some
devices, however, may need a specific density code for selecting or
deselecting compression. Please refer to the device specific SCSI
manual. When the flag is set, compression is enabled only if the "c"
or "u" device is used. Note that when the lower 2 densities of a drive
are identically configured and the upper 2 densities are identically
configured, but the lower and upper differ from each other and
ST_MODE_SEL_COMP is set, the "m" node sets compression on for the
lower density code (for example, 0x42) and the "c" and "u" nodes set
compression on for the higher density (for example, 0x43). For any
other device densities, compression is disabled.
ST_NO_RESERVE_RELEASE
The ST_NO_RESERVE_RELEASE flag disables the use of reserve on open and
release on close. If an attempt to use a ioctl of MTRESERVE or
MTRELEASE on a drive with this flag set, it will return an error of
ENOTTY (inappropriate ioctl for device).
ST_READ_IGNORE_ILI
The ST_READ_IGNORE_ILI flag is applicable only to variable block
devices which support the SILI bit option. The ST_READ_IGNORE_ILI flag
indicates that SILI (supress incorrect length indicator) bit will be
set during reads. When this flag is set, short reads (requested read
size is less than the record size on the tape) will be successful and
the number of bytes transferred will be equal to the record size on
the tape. The tape will be positioned at the start of the next record
skipping over the extra data (the remaining data has been has been
lost). Long reads (requested read size is more than the record size on
the tape) will see a large performance gain when this flag is set, due
to overhead reduction. When this flag is not set, short reads will
return an error of ENOMEM.
ST_READ_IGNORE_EOFS
The ST_READ_IGNORE_EOFS flag is applicable only to 1/2" Reel Tape
drives and when performing consecutive reads only. It should not be
used for any other tape command. Usually End-of-recorded-media (EOM)
is indicated by two EOF marks on 1/2" tape and application cannot read
past EOM. When this flag is set, two EOF marks no longer indicate EOM
allowing applications to read past two EOF marks. In this case it is
the responsibility of the application to detect end-of-recorded-media
(EOM). When this flag is set, tape operations (like MTEOM) which
positions the tape at end-of-recorded-media will fail since detection
of end-of-recorded-media (EOM) is to be handled by the application.
This flag should be used when backup applications have embedded double
filemarks between files.
ST_SHORT_FILEMARKS
The ST_SHORT_FILEMARKS flag is applicable only to EXABYTE 8mm tape
drives which supports short filemarks. When this flag is set, short
filemarks is used for writing filemarks. Short filemarks could lead to
tape incompatible with some otherwise compatible device. By default
long filemarks will be used for writing filemarks.
ST_EJECT_TAPE_ON_CHANGER_FAILURE
If ST_EJECT_TAPE_ON_CHANGER_FAILURE flag is set, the tape is ejected
automatically if the tape cartridge is trapped in the medium due to
positioning problems of the medium changer.
The following ASC/ASCQ keys are defined to the reasons for causing
tape ejection if ST_EJECT_TAPE_ON_CHANGER_FAILURE option is set to
0x200000:
Sense ASC/ASCQ Description
Key
4 15/01 Mechanical Failure
4 44/00 Internal Target Failure
2 53/00 Media Load or Eject Failed
4 53/00 Media Load or Eject Failed
4 53/01 Unload Tape Failure
ST_RETRY_ON_RECOVERED_DEFERRED_ERROR
If ST_RETRY_ON_RECOVERED_DEFERRED_ERROR flag is set, the st driver
will retry the last write if this cmd caused a check condition with
error code 0x71 and sense code 0x01. Some tape drives, notably the IBM
3090, require this option.
ST_WORMABLE
When ST_WORMABLE is set, st attempts to detect the presence of WORM
media in the device.