*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->HP-UX 11i man pages -> disk (7)              
Title
Content
Arch
Section
 

Contents


 disk(7)                                                             disk(7)




 NAME    [Toc]    [Back]
      disk - direct disk access

 DESCRIPTION    [Toc]    [Back]
      This entry describes the actions of HP-UX disk drivers when referring
      to a disk as either a block-special or character-special (raw) device.

    Device File Naming Conventions    [Toc]    [Back]
      Standard disk device files are named according to the following
      conventions:

           Block-mode Devices            /dev/dsk/cxtydn[sm]

           Character-mode Devices        /dev/rdsk/cxtydn[sm]

      where component parts of the filename are constructed as follows:

           c       Required.  Identifies the following hexadecimal digits as
                   the ``Instance'' of the interface card.

           x       Hexadecimal number identifying controlling bus interface,
                   also known as the ``Instance'' of this interface card.
                   The instance value is displayed in the ioscan(1M) output,
                   column ``I'' for the H/W Type, ``INTERFACE''.
                   Required.

           t       Identifies the following hexadecimal digits as a ``drive
                   number'' or ``target''.
                   Required.

           y       Hexadecimal number identifying the drive or target number
                   (bus address).
                   Required.

           d       Identifies the following hexadecimal digits as a ``unit
                   number''.
                   Required.

           n       Hexadecimal unit number within the device.
                   Required.

           s       Optional.  Defaults to that corresponding to whole disk.
                   Identifies the following value as a ``section number''.

           m       Required if s is specified.  Defaults to section 0
                   (zero), whole disk.  Drive section number.

      Assignment of controller, drive, logical unit and section numbers is
      described in the system administrator manuals for your system.





 Hewlett-Packard Company            - 1 -   HP-UX 11i Version 2: August 2003






 disk(7)                                                             disk(7)




    Block-special access    [Toc]    [Back]
      Block-special device files access disks via the system's block buffer
      cache mechanism.  Buffering is done in such a way that concurrent
      access through multiple opens and mounting the same physical device is
      correctly handled to avoid operation sequencing errors.  The block
      buffer cache permits the system to do physical I/O operations when
      convenient.  This means that physical write operations may occur
      substantially later in time than their corresponding logical write
      requests.  This also means that physical read operations may occur
      substantially earlier in time than their corresponding logical read
      requests.

      Block-special files can be read and written without regard to physical
      disk records.  Block-special file read() and write() calls requiring
      disk access result in one or more BLKDEV_IOSIZE byte (typically 2048
      byte) transfers between the disk and the block buffer cache.
      Applications using the block-special device should ensure that they do
      not read or write past the end of last BLKDEV_IOSIZE sized block in
      the device file.  Because the interface is buffered, accesses past
      this point behave unpredictably.

    Character-special access    [Toc]    [Back]
      Character-special device files access disks without buffering and
      support the direct transmission of data between the disk and the
      user's read or write buffer.  Disk access through the character
      special file interface causes all physical I/O operations to be
      completed before control returns from the call.  A single read or
      write operation up to MAXPHYS bytes (typically 64 Kbytes or 256
      Kbytes) results in exactly one disk operation.  Requests larger than
      this are broken up automatically by the operating system.  Since large
      I/O operations via character-special files avoid block buffer cache
      handling and result in fewer disk operations, they are typically more
      efficient than similar block-special file operations.

      There may be implementation-dependent restrictions on the alignment of
      the user buffer in memory for character special file read() and
      write() calls.  Also, each read and write operation must begin and end
      on a logical block boundary and must be a whole number of logical
      blocks in size.  The logical block size is a hardware-dependent value
      that can be queried with the DIOC_DESCRIBE ioctl call, which is
      described below.

      In addition to reading and writing data, the character-special file
      interface can used to obtain device specific information and to
      perform special operations.  These operations are controlled through
      use of ioctl calls.  Details related to these ioctls are contained in
      <sys/diskio.h>.

      The DIOC_DESCRIBE ioctl can be used to obtain device specific
      identification information.  The information returned includes the
      disk's model identification, the disk interface type, maximum offset



 Hewlett-Packard Company            - 2 -   HP-UX 11i Version 2: August 2003






 disk(7)                                                             disk(7)




      address, and the disk's logical block size.

      The DIOC_CAPACITY ioctl can be used to obtain the capacity of a disk
      device in DEV_BSIZE units.  (DEV_BSIZE is defined in <sys/param.h>).

      The DIOC_EXCLUSIVE ioctl can be used to obtain and release exclusive
      access to a disk device.  Exclusive access is required for some
      special operations, such as media reformatting, and may be desirable
      in other circumstances.  The value one specifies that exclusive access
      is requested.  The value zero specifies the exclusive access should be
      released.  Exclusive access causes other open requests to fail.
      Exclusive access can only be granted when the device is not currently
      opened in block-mode and there is only one open file table entry for
      that disk device (the one accessible to the exclusive access
      requester).

 ERRORS    [Toc]    [Back]
      The following errors can be returned by a disk device driver call:

           [EACCES]       Required permission is denied for the the device
                          or operation.

           [ENXIO]        If resulting from an open() call, this indicates
                          there is no device at the specified address.  For
                          other calls, this indicates the specified address
                          is out of range or the device can no longer be
                          accessed.

           [EINVAL]       From an open() call: the device is not a disk
                          device.  For other calls: Invalid request or
                          parameter.  Note that for legacy, 32-bit access,
                          this error can result when the size of the device
                          overflows the argument of the DIOC_DESCRIBE or
                          DIOC_CAPACITY ioctls.

           [EIO]          I/O error (e.g., media defect or device
                          communication problem).

 WARNINGS    [Toc]    [Back]
      The interaction of block-special and character-special file access to
      the same BLKDEV_IOSIZE-sized block is not specified, and in general is
      unpredictable.

      On some systems, having both a mounted file system and a block special
      file open on the same device can cause unpredictable results; this
      should be avoided if possible.  This is because it may be possible for
      some files to have private buffers in some systems.

      Although disk devices have historically had small (typically 512-byte)
      block sizes, some disk devices (such as optical disks and disk arrays)
      have relatively large block sizes.  Applications using direct raw disk



 Hewlett-Packard Company            - 3 -   HP-UX 11i Version 2: August 2003






 disk(7)                                                             disk(7)




      access should use ioctl() calls to determine appropriate I/O operation
      sizes and alignments.

      Any disk with removable media (for example, floppy or CD-ROM)
      containing a mounted file system should not be removed prior to being
      unmounted.  Removal of disk media containing mounted file systems is
      likely to result in file system errors and system panics.

 DEPENDENCIES    [Toc]    [Back]
      disc3
           Devices whose logical block size is less than DEV_BSIZE must be
           accessed on DEV_BSIZE boundaries and with transfer sizes that are
           multiples of DEV_BSIZE.  Disk ``sections'' 0 (zero) and 2 (two)
           have exchanged meanings with HP-UX Release 10.0 and beyond.
           Whole disk is section 0.

 AUTHOR    [Toc]    [Back]
      disk was developed by HP and AT&T.

 SEE ALSO    [Toc]    [Back]
      mknod(1M), intro(7), ioscan(1M).

      System Administrator manuals included with your system.


 Hewlett-Packard Company            - 4 -   HP-UX 11i Version 2: August 2003
[ Back ]
      
      
 Similar pages
Name OS Title
floppy HP-UX direct flexible or ``floppy'' disk access
da FreeBSD SCSI Direct Access device driver
scsi_disk HP-UX SCSI direct access device driver (sdisk)
glxisdirect IRIX indicate whether direct rendering is enabled
glXIsDirect Tru64 indicate whether direct rendering is enabled
disklabel Tru64 Reads and writes a disk pack label and formats disk partitions
createlabel Tru64 creates a disk label structure for a disk device
verifyDisk IRIX verifies disk surface and partitions as an option disk
sync OpenBSD synchronize disk block in-core status with that on disk
sync NetBSD synchronize disk block in-core status with that on disk
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service