Print this page
12315 errors in section 7i of the manual


  15      use of it.
  16 
  17      The mhd ioctls fall into two major categories: (1) ioctls for non-shared
  18      multihost disks and (2) ioctls for shared multihost disks.
  19 
  20      One ioctl, MHIOCENFAILFAST, is applicable to both non-shared and shared
  21      multihost disks.  It is described after the first two categories.
  22 
  23      All the ioctls require root privilege.
  24 
  25      For all of the ioctls, the caller should obtain the file descriptor for
  26      the device by calling open(2) with the O_NDELAY flag; without the
  27      O_NDELAY flag, the open may fail due to another host already having a
  28      conflicting reservation on the device.  Some of the ioctls below permit
  29      the caller to forcibly clear a conflicting reservation held by another
  30      host, however, in order to call the ioctl, the caller must first obtain
  31      the open file descriptor.
  32 
  33    Non-shared multihost disks
  34      Non-shared multihost disks ioctls consist of MHIOCTKOWN, MHIOCRELEASE,
  35      HIOCSTATUS, and MHIOCQRESERVE.  These ioctl requests control the access
  36      rights of non-shared multihost disks.  A non-shared multihost disk is one
  37      that supports serialized, mutually exclusive I/O mastery by the connected
  38      hosts.  This is in contrast to the shared-disk model, in which concurrent
  39      access is allowed from more than one host (see below).
  40 
  41      A non-shared multihost disk can be in one of two states:
  42 
  43      o       Exclusive access state, where only one connected host has I/O
  44              access
  45 
  46      o       Non-exclusive access state, where all connected hosts have I/O
  47              access.  An external hardware reset can cause the disk to enter
  48              the non-exclusive access state.
  49 
  50      Each multihost disk driver views the machine on which it's running as the
  51      "local host"; each views all other machines as "remote hosts".  For each
  52      I/O or ioctl request, the requesting host is the local host.
  53 
  54      Note that the non-shared ioctls are designed to work with SCSI-2 disks.
  55      The SCSI-2 RESERVE/RELEASE command set is the underlying hardware


 228      Each request returns -1 on failure and sets errno to indicate the error.
 229 
 230      EPERM              Caller is not root.
 231 
 232      EACCES             Access rights were denied.
 233 
 234      EIO                The multihost disk or controller was unable to
 235                         successfully complete the requested operation.
 236 
 237      EOPNOTSUP          The multihost disk does not support the operation.
 238                         For example, it does not support the SCSI-2
 239                         Reserve/Release command set, or the SCSI-3 Persistent
 240                         Reservation command set.
 241 
 242 STABILITY
 243      Uncommitted
 244 
 245 SEE ALSO
 246      ioctl(2), open(2), attributes(5)
 247 
 248 illumos                        October 23, 2017                        illumos


  15      use of it.
  16 
  17      The mhd ioctls fall into two major categories: (1) ioctls for non-shared
  18      multihost disks and (2) ioctls for shared multihost disks.
  19 
  20      One ioctl, MHIOCENFAILFAST, is applicable to both non-shared and shared
  21      multihost disks.  It is described after the first two categories.
  22 
  23      All the ioctls require root privilege.
  24 
  25      For all of the ioctls, the caller should obtain the file descriptor for
  26      the device by calling open(2) with the O_NDELAY flag; without the
  27      O_NDELAY flag, the open may fail due to another host already having a
  28      conflicting reservation on the device.  Some of the ioctls below permit
  29      the caller to forcibly clear a conflicting reservation held by another
  30      host, however, in order to call the ioctl, the caller must first obtain
  31      the open file descriptor.
  32 
  33    Non-shared multihost disks
  34      Non-shared multihost disks ioctls consist of MHIOCTKOWN, MHIOCRELEASE,
  35      MHIOCSTATUS, and MHIOCQRESERVE.  These ioctl requests control the access
  36      rights of non-shared multihost disks.  A non-shared multihost disk is one
  37      that supports serialized, mutually exclusive I/O mastery by the connected
  38      hosts.  This is in contrast to the shared-disk model, in which concurrent
  39      access is allowed from more than one host (see below).
  40 
  41      A non-shared multihost disk can be in one of two states:
  42 
  43      o       Exclusive access state, where only one connected host has I/O
  44              access
  45 
  46      o       Non-exclusive access state, where all connected hosts have I/O
  47              access.  An external hardware reset can cause the disk to enter
  48              the non-exclusive access state.
  49 
  50      Each multihost disk driver views the machine on which it's running as the
  51      "local host"; each views all other machines as "remote hosts".  For each
  52      I/O or ioctl request, the requesting host is the local host.
  53 
  54      Note that the non-shared ioctls are designed to work with SCSI-2 disks.
  55      The SCSI-2 RESERVE/RELEASE command set is the underlying hardware


 228      Each request returns -1 on failure and sets errno to indicate the error.
 229 
 230      EPERM              Caller is not root.
 231 
 232      EACCES             Access rights were denied.
 233 
 234      EIO                The multihost disk or controller was unable to
 235                         successfully complete the requested operation.
 236 
 237      EOPNOTSUP          The multihost disk does not support the operation.
 238                         For example, it does not support the SCSI-2
 239                         Reserve/Release command set, or the SCSI-3 Persistent
 240                         Reservation command set.
 241 
 242 STABILITY
 243      Uncommitted
 244 
 245 SEE ALSO
 246      ioctl(2), open(2), attributes(5)
 247 
 248 illumos                        February 17, 2020                       illumos