[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    sd(7D) manual page Table of Contents

Name

sd - driver for SCSI disk and CD-ROM devices

Synopsis

sd@target,lun:partition

Description

This driver handles embedded SCSI-2 and CCS -compatible SCSI disk drives, CD-ROM drives, and the Emulex MD 21 disk controller for ESDI drives. Note that support for the MD 21 disk controller will be phased out after this release.

The type of disk drive is determined using the SCSI 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.

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 (such as lseek(2) ) to the SCSI disk must have an offset that is a multiple of 512 bytes (DEV_BSIZE ), or the driver returns an EINVAL error. If the transfer length is not a multiple of 512 bytes, the transfer count is rounded up by the driver.

CD-ROM Drive Support

A CD-ROM disk is single-sided containing approximately 540 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.

There is no volume label stored 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.

IOCTLs

Refer to dkio(7I) and cdio(7I) .

Errors

EACCES
Permission denied.
EBUSY
The partition was opened exclusively by another thread.
EFAULT
The argument was a bad address.
EINVAL
Invalid argument.
EIO
An I/O error occurred.
ENOTTY
This indicates that the device does not support the requested ioctl function.
ENXIO
During opening, the device did not exist.
EROFS
The device is a read-only device.

Configuration

Driver Configuration

The sd driver can be configured by defining properties in sd.conf file. Following are the supported properties:
qfull-retries
The supplied value is passed as the qfull-retries capability value of the HBA driver. See scsi_ifsetcap(9F) for details.
qfull-retry-interval
The supplied value is passed as the qfull-retry-interval capability value of the HBA driver. See scsi_ifsetcap(9F) for details.

Files

sd.conf
driver configuration file
/dev/dsk/cntndnsn
block files
/dev/rdsk/cntndnsn
raw files

where:

cn
controller n
tn
SCSI target id n (0-6)
dn
SCSI LUN n (0-7)
sn
partition n (0-7)

See Also

format(1M) , close(2) , ioctl(2) , lseek(2) , read(2) , write(2) , driver.conf(4) , cdio(7I) , dkio(7I) , esp(7D) , isp(7D) , scsi_ifsetcap(9F)

ANSI Small Computer System Interface-2 (SCSI-2)

Emulex MD 21 Disk Controller Programmer Reference Manual

Diagnostics

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.
Caddy not inserted in drive

The drive is not ready because no caddy has been inserted.
Check Condition on REQUEST SENSE

A REQUEST SENSE command completed with a check condition. The original command will be retried a number of times.
Label says <m> blocks Drive says <n> blocks

There is a discrepancy between the label and what the drive returned on the READ CAPACITY command.
Not enough sense information

The request sense data was less than expected.
Request Sense couldn’t get sense data

The REQUEST SENSE command did not transfer any data.
Reservation Conflict

The drive was reserved by another initiator.
SCSI transport failed: reason ’xxxx’ : {retrying|giving up}

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.
Unhandled Sense Key <n>

The REQUEST SENSE data included an invalid sense key.
Unit not Ready. Additional sense code 0x<n>

The drive is not ready.
can’t do switch back to mode 1

A failure to switch back to read mode 1.
corrupt label - bad geometry

The disk label is corrupted.
corrupt label - label checksum failed

The disk label is corrupted.
corrupt label - wrong magic number

The disk label is corrupted.
device busy too long

The drive returned busy during a number of retries.
disk not responding to selection

The drive was probably powered down or died.
failed to handle UA

A retry on a Unit Attention condition failed.
i/o to invalid geometry

The geometry of the drive could not be established.
incomplete read/write - retrying/giving up

There was a residue after the command completed normally.
no bp for disk label

A bp with consistent memory could not be allocated.
no mem for property

Free memory pool exhausted.
no memory for disk label

Free memory pool exhausted.
no resources for dumping

A packet could not be allocated during dumping.
offline
Drive went offline; probably powered down.
requeue of command fails <n>

Driver attempted to retry a command and experienced a transport error.
sdrestart transport failed (<n>)

Driver attempted to retry a command and experienced a transport error.
transfer length not modulo <n>

Illegal request size.
transport of request sense fails (<n>)

Driver attempted to submit a request sense command and failed.
transport rejected (<n>)

Host adapter driver was unable to accept a command.
unable to read label

Failure to read disk label.
unit does not respond to selection

Drive went offline; probably powered down.


Table of Contents