dad - driver for IDE disk devices


     dad@ target,lun:partition


     This driver handles the ide disk drives on SPARC  platforms.
     The type of disk drive is determined using the ATA IDE iden-
     tify device command and by 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 there-
     fore  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

     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 multi-
     ple of 512 bytes.  Requests which do not meet  the  restric-
     tions  will cause the driver to return an  EINVAL error. I/O
     requests to the block device have  no  alignment  or  length

  Device Statistics Support
     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.


     /dev/dsk/c ntnd nsn
           block files

     /dev/rdsk/cn tndn sn
           raw files


     cn    controller  n

     tn    IDE target id  n (0-3)

     dn    Always 0.

     sn    partition  n (0-7)

     The target ide numbers are assigned as:

     0     Master disk on Primary channel.

     1     Slave disk on Primary channel.

     2     Master disk on Secondary channel

     3     Slave disk on Secondary channel.


     Refer to  dkio(7I).


           Permission denied.

     EBUSY The  partition  was  opened  exclusively  by   another

           The argument was a bad address.

           Invalid argument.

     EIO   An I/O error occurred.

           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.


     format(1M),   mount(1M),   lseek(2),   read(2),    write(2),
     driver.conf(4), vfstab(4), dkio(7I)

     X3T10 ATA-4 specifications.


           The driver has decided that  the  target  disk  is  no
           longer there.

     disk ok
           The target disk is now responding again.

     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.

     disk not responding to selection
           The target disk is not responding.

     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  nor-

     no bp for disk label
           A bp with consistent memory could not be allocated.

     no memory for disk label
           Free memory pool exhausted.

     ATA transport failed: reason 'nnnn': {retrying|giving}
           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.

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

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

     corrupt label - bad geometry
           The disk label is corrupted.

     no mem for property
           Free memory pool exhausted.

     transport rejected (<n>)
           Host adapter driver was unable to accept a command.

     Device Fault
           There has been a Device Fault - reason for such  error
           is vendor specific.

Man(1) output converted with man2html