HP-UX Reference (11i v3 07/02) - 7 Device (Special) Files, 9 General Information, Index (vol 10)
s
scsi_disk(7) scsi_disk(7)
NAME
scsi_disk - SCSI direct access device drivers (esdisk/sdisk)
DESCRIPTION
This section describes the interface for access of SCSI disk, CD-ROM, and optical disk devices through the
character special device driver. esdisk is the default driver for direct access devices starting at HP-UX
11i Version 3.
sdisk is the default driver used on HP-UX 11i Version 2 and earlier releases. It is main-
tained for backward compatibility.
SCSI direct access devices store a sequence of data blocks. Each direct access device has a specific device
size consisting of a number of data blocks and a logical block size. All data blocks have the same logical
block size.
Since I/O operations must have a size that is an integral number of blocks, one logical block size is the
smallest possible I/O quantity. The device block size can be determined through use of the
DIOC_DESCRIBE
, DIOC_CAPACITY
, SIOC_CAPACITY
, DIOC_DESCRIBE_EXT
, and
SIOC_STORAGE_CAPACITY
ioctls (see disk(7) and scsi(7);
SIOC_CAPACITY is not supported on
disc3). A direct access device that is not ready for use, whether due to no media installed or another rea-
son, is interpreted to mean the device has zero size. An open() call to such a device succeeds, but subse-
quent read() and write() calls fail.
The ioctl(2) manpage explains how the operations and arguments are used. Note, the arg used is com-
monly the address of the parameter cited in the particular ioctl
#define statement. See the EXAMPLES
section for sample code.
To improve performance, many SCSI disk devices have caches, which can be used for both read and write
operations.
Read cache use, called "read ahead", causes the disk 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 report-
ing a completed write status before the data being written is actually committed to media. If the subse-
quent physical write operation does not complete successfully, data may be lost.
Physical write failures due to media defects are largely eliminated by use of automatic sparing in disk
drives. Power failure between immediate reporting and media commit can result in cached data being lost.
However, the period of time between these events is typically relatively small, making such losses unlikely.
The
SIOC_GET_IR ioctl can be used to determine if immediate-reporting functionality is currently being
used by the device. The value 1 indicates immediate reporting is enabled. The value zero indicates
immediate reporting is disabled. The SIOC_SET_IR ioctl can be used to enable or disable immediate
reporting. A zero value disables immediate reporting. The value 1 enables immediate reporting.
The SIOC_SYNC_CACHE ioctl can be used to force data cached in the device to media.
Most SCSI removable media disk devices support "prevent" and "allow" media-removal commands. To
avoid data corruption and data accessibility problems, media removal is prevented for the entire duration a
removable media disk device is open. Because media removal is not supported, the
SIOC_MEDIUM_CHANGED
ioctl is not supported.
The header file
<sys/scsi.h> has useful information for direct access device control, including the fol-
lowing:
/* ioctl support for SCSI disk devices */
#define SIOC_GET_IR _IOR(’S’, 14, int)
#define SIOC_SET_IR _IOW(’S’, 15, int)
#define SIOC_SYNC_CACHE -IOW(’S’, 70, int)
The SIOC_FORMAT ioctl reformats the entire media surface. Exclusive access to the device, obtained
through use of the DIOC_EXCLUSIVE ioctl (see disk(7)), is required prior to reformatting to ensure that
other applications are not affected. The fmt_optn field can be used to select the desired media geometry.
Only one media geometry is supported on most devices. The value zero should be used for these devices.
The value zero can also be used to select the default geometry on devices that support multiple media
geometries. The interleave field can be used to specify sector interleaving. The value zero specifies that an
appropriate default interleave should be used.
164 Hewlett-Packard Company − 1 − HP-UX 11i Version 3: February 2007