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
|