NAME | SYNOPSIS | DESCRIPTION | IOCTLS | ERRORS | CONFIGURATION | FILES | SEE ALSO | DIAGNOSTICS
sd@target,lun:partition
This driver handles embedded SCSI-2 and CCS-compatible SCSI disk drives, CD-ROM drives, ATAPI 2.6 (SFF-8020i) compliant CD-ROM drives and the Emulex MD21 disk controller for ESDI drives. Note that support for the MD21 disk controller may be phased out after this release.
The type of disk drive is determined using the SCSI/ATAPI inquiry command and reading the volume label stored on block 0 of the drive. The volume label describes the disk geometry and partitioning; it must be present or the disk cannot be mounted by the system.
This driver handles embedded SCSI-2 and CCS-compatible SCSI disk drives, CD-ROM drives, and ATAPI 2.6 (SFF-8020i) compliant CD-ROM drives.
x86 systems have a BIOS legacy that requires the presence of a master boot record (MBR) and fdisk table in the first physical sector of the bootable media. The Solaris disk label on an x86 hard disk is therefore always found in the second 512-byte sector within the FDISK partition if one is present.
The block-files access the disk using the system's normal buffering mechanism and are read and written without regard to physical disk records. There is also a "raw" interface that provides for direct transmission between the disk and the user's read or write buffer. A single read or write call usually results in one I/O operation; raw I/O is therefore considerably more efficient when many bytes are transmitted. The names of the block files are found in /dev/dsk; the names of the raw files are found in /dev/rdsk.
I/O requests to the raw device must be aligned on a 512-byte (DEV_BSIZE) boundary and must have a length that is a multiple of 512 bytes. Requests which do not meet the restrictions will cause the driver to return an EINVAL error. I/O requests to the block device have no alignment or length restrictions.
A CD-ROM disk is single-sided containing approximately 640 megabytes of data or 74 minutes of audio.
When the device is first opened, the CD-ROM drive's eject button will be disabled, preventing the manual removal of the disk until the last close(2) is called.
No volume label is required on the CD-ROM. The disk geometry and partitioning information is always the same. If the CD-ROM is in ISO 9660 or High Sierra Disk format, it can be mounted as a file system.
Each device maintains I/O statistics both for the device and for each partition allocated on that device. For each device/partition, the driver accumulates reads, writes, bytes read, and bytes written. The driver also takes hi-resolution time stamps at queue entry and exit points, which facilitates monitoring the residence time and cumulative residence-length product for each queue.
Each device also has error statistics associated with it. These must include counters for hard errors, soft errors and transport errors. Other data may be implemented as required.
Permission denied.
The partition was opened exclusively by another thread.
The argument was a bad address.
Invalid argument.
An I/O error occurred.
This indicates that the device does not support the requested ioctl function.
During opening, the device did not exist. During close, the unlock of the drive failed.
The device is a read-only device.
The sd driver can be configured by defining properties in sd.conf file. Following are the supported properties:
The supplied value is passed as the qfull-retries capability value of the HBA driver. See scsi_ifsetcap(9F) for details.
The supplied value is passed as the qfull-retry-interval capability value of the HBA driver. See scsi_ifsetcap(9F) for details.
The default value is 1, which allows resetting to occur. Setting this value to 0 (zero) prevents the sd driver, in its error-recovery process, from calling scsi_reset(9F) with a second argument of "...,RESET_TARGET". This type of scsi_reset() call will probably result in the HBA driver sending a SCSI Bus Device Reset message. The scsi_reset() call with a second argument of "...,RESET_TARGET" may still result from an explicit request via the USCSICMD ioctl. Some high-availability multi-initiator systems may wish to prohibit the Bus Device Reset message; they can effectively do so by setting the allow-bus-device-reset property to 0.
driver configuration file
block files
raw files
where:
controller n
SCSI target id n (0-6)
SCSI LUN n (0-7 normally; some HBAs support LUNs to 15 or 32, see the specific manpage for details)
partition n (0-7)
fdisk(1M), format(1M), close(2), ioctl(2), lseek(2), read(2), write(2), kstat(3K), driver.conf(4), scsi(4), cdio( 7I), dkio(7I), scsi_ifsetcap(9F), scsi_reset(9F)
ANSI Small Computer System Interface-2 (SCSI-2)
Emulex MD21 Disk Controller Programmer Reference Manual
ATA Packet Interface for CD-ROMs, SFF-8020i
Error for Command: '<command name>' | Error Level: Fatal |
Requested Block: <n> | Error Block: <m> |
Vendor: '<vendor name>' | Serial Number: '<serial number>' |
Sense Key: <sense key name> |
ASC: 0x<a> (<ASC name>), ASCQ: 0x<b>, FRU: 0x<c> The command indicated by <command name> failed. The Requested Block is the block where the transfer started and the Error Block is the block that caused the error. Sense Key, ASC, and ASCQ information is returned by the target in response to a request sense command.
The drive is not ready because no caddy has been inserted.
A REQUEST SENSE command completed with a check condition. The original command will be retried a number of times.
There is a discrepancy between the label and what the drive returned on the READ CAPACITY command.
The request sense data was less than expected.
The REQUEST SENSE command did not transfer any data.
The drive was reserved by another initiator.
The host adapter has failed to transport a command to the target for the reason stated. The driver will either retry the command or, ultimately, give up.
The REQUEST SENSE data included an invalid sense key.
The drive is not ready.
A failure to switch back to read mode 1.
The disk label is corrupted.
The disk label is corrupted.
The disk label is corrupted.
The drive returned busy during a number of retries.
The drive was probably powered down or died.
A retry on a Unit Attention condition failed.
The geometry of the drive could not be established.
There was a residue after the command completed normally.
A bp with consistent memory could not be allocated.
A bp with consistent memory could not be allocated.
A bp with consistent memory could not be allocated.
A bp with consistent memory could not be allocated.
Free memory pool exhausted.
Free memory pool exhausted.
Free memory pool exhausted.
Free memory pool exhausted.
A packet could not be allocated during dumping.
Drive went offline; probably powered down.
Driver attempted to retry a command and experienced a transport error.
Driver attempted to retry a command and experienced a transport error.
Illegal request size.
Driver attempted to submit a request sense command and failed.
Host adapter driver was unable to accept a command.
Failure to read disk label.
Drive went offline; probably powered down.
NAME | SYNOPSIS | DESCRIPTION | IOCTLS | ERRORS | CONFIGURATION | FILES | SEE ALSO | DIAGNOSTICS