HP-UX Reference (11i v1 05/09) - 7 Device (Special) Files, 9 General Information, Index (vol 10)

s
scsi_tape(7) scsi_tape(7)
(Series 700 Only)
NAME
scsi_tape, tape - SCSI sequential access device driver
DESCRIPTION
SCSI sequential-access (tape) devices store a sequence of data blocks. Data can be read and written using
either fixed or variable sized block mode. If supported by the device, variable sized block mode is normally
used (even when all blocks are the same size). Fixed sized block mode is generally only used for tape dev-
ices which do not support variable sized blocks. Fixed sized block mode can be used on some tape devices
which support variable sized blocks to increase I/O performance.
Generally SCSI tape devices are controlled through the mt(7) generic tape device interface. This section
describes features that are specific to SCSI tape devices.
The
SIOC_CAPACITY
ioctl (see scsi(7)) can be used to determine remaining tape capacity for some tape
devices. The
blksz field indicates the ‘‘natural’’ block size of the device. This value may or may not be
the current block size of the device. The number of blocks, indicated by the
lba field, is an estimate of
how much data can be written on the remaining media. A zero size is returned for devices that do not pro-
vide remaining-capacity information. The quantity of data that can actually be written may be higher or
lower than indicated, depending on such factors as block size, media defects, data compression, and ability
to maintain streaming.
To improve performance, most SCSI tape devices have caches. Read-cache use, called "read ahead", causes
the tape drive to read data in anticipation of read requests. Read ahead is only apparent to users in the
increased performance that it produces. Write-cache use is called "immediate reporting". Immediate
reporting increases I/O performance by reporting a completed write status before the data being written is
actually committed to media. This allows the application program to supply additional data so that con-
tinuous media motion, called "streaming", can be achieved. The
SIOC_GET_IR ioctl can be used to deter-
mine if immediate-reporting functionality is currently being used by the device. The value ‘‘1’’ indicates
immediate reporting is enabled. By default, the device driver attempts to enable immediate reporting. The
SIOC_SET_IR ioctl can be used to explicitly enable or disable immediate reporting. A zero value disables
immediate reporting. The value ‘‘1’’ enables immediate reporting. The MTIOCTOP ioctl MTNOP com-
mand can be used to cause any cached data to be written (committed) to media. Note that the device
immediate reporting mode set by the SIOC_SET_IR ioctl survives between close() and open()
calls, but not through system reboot.
The SIOC_GET_BLOCK_SIZE
ioctl indicates the devices current block size. A block size of zero indi-
cates the device is in variable-sized-block mode. A non-zero block size indicates the device is in fixed-sized-
block mode.
The
SIOC_SET_BLOCK_SIZE
ioctl changes the current block size to the specified number of bytes. Set-
ting the block size to zero specifies that variable-sized-block mode should be used. Any non-zero block size
specifies that fixed-sized-block mode should be used. By default, the device driver attempts to set the block
size to zero during open. If variable-sized-block mode is not supported by the device, the driver selects an
appropriate block size for fixed-sized-block mode use. Note that the device block size set by the
SIOC_SET_BLOCK_SIZE
ioctl survives between close() and open() calls, but not through system
reboot.
The
SIOC_GET_BLOCK_LIMITS
ioctl indicates the devices maximum and minimum fixed block-size
limits. The device’s minimum fixed block size is indicated by the
min_blk_size field. The
max_blk_size eld contains the smaller of the maximum block size supported by the device and the
maximum block size supported by the system (MAXPHYS). This is the largest valid block size for the
specific combination of device, driver, and host system being used.
The SIOC_GET_POSITION ioctl can be used to determine the current media position for some devices.
For devices that support this capability, the resultant value can be used to reposition the media to the same
position in the future.
The SIOC_SET_POSITION ioctl can be used to cause media repositioning on some devices. For devices
that support this capability, media repositioning via this mechanism can generally be completed more
quickly than might be similarly accomplished using record, filemark, or setmark spacing. The argument
value specified should be the result of a previous SIOC_GET_POSITION for that media volume.
The following is included from
<sys/scsi.h> :
/* ioctl support for SCSI tape commands */
#define SIOC_GET_IR _IOR(’S’, 14, int)
#define SIOC_SET_IR _IOW(’S’, 15, int)
Section 7146 Hewlett-Packard Company 1 HP-UX 11i Version 1: September 2005