1 .\" Copyright (c) 2005 Sun Microsystems, Inc. All Rights Reserved.
2 .\" Copyright (c) 2017, Joyent, Inc.
3 .\" The contents of this file are subject to the terms of the
4 .\" Common Development and Distribution License (the "License").
5 .\" You may not use this file except in compliance with the License.
6 .\"
7 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8 .\" or http://www.opensolaris.org/os/licensing.
9 .\" See the License for the specific language governing permissions
10 .\" and limitations under the License.
11 .\"
12 .\" When distributing Covered Code, include this CDDL HEADER in each
13 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14 .\" If applicable, add the following below this CDDL HEADER, with the
15 .\" fields enclosed by brackets "[]" replaced with your own identifying
16 .\" information: Portions Copyright [yyyy] [name of copyright owner]
17 .Dd October 23, 2017
18 .Dt MHD 7I
19 .Os
20 .Sh NAME
21 .Nm mhd
22 .Nd multihost disk control operations
23 .Sh SYNOPSIS
24 .In sys/mhd.h
25 .Sh DESCRIPTION
26 The
27 .Nm
28 .Xr ioctl 2
29 control access rights of a multihost disk, using
30 disk reservations on the disk device.
31 .Pp
32 The stability level of this interface (see
33 .Xr attributes 5 )
34 is evolving.
35 As a result, the interface is subject to change and you should limit your use of
36 it.
37 .Pp
44 It is described after the first two categories.
45 .Pp
46 All the ioctls require root privilege.
47 .Pp
48 For all of the ioctls, the caller should obtain the file descriptor for the
49 device by calling
50 .Xr open 2
51 with the
52 .Dv O_NDELAY
53 flag; without the
54 .Dv O_NDELAY
55 flag, the open may fail due to another host already having a
56 conflicting reservation on the device.
57 Some of the ioctls below permit the caller to forcibly clear a conflicting
58 reservation held by another host, however, in order to call the ioctl, the
59 caller must first obtain the open file descriptor.
60 .Ss "Non-shared multihost disks"
61 Non-shared multihost disks ioctls consist of
62 .Dv MHIOCTKOWN ,
63 .Dv MHIOCRELEASE ,
64 .Dv HIOCSTATUS ,
65 and
66 .Dv MHIOCQRESERVE .
67 These ioctl requests control the access rights of non-shared multihost disks.
68 A non-shared multihost disk is one that supports serialized, mutually exclusive
69 I/O mastery by the connected hosts.
70 This is in contrast to the shared-disk model, in which
71 concurrent access is allowed from more than one host (see below).
72 .Pp
73 A non-shared multihost disk can be in one of two states:
74 .Bl -bullet -width indent
75 .It
76 Exclusive access state, where only one connected host has I/O access
77 .It
78 Non-exclusive access state, where all connected hosts have I/O access.
79 An external hardware reset can cause the disk to enter the non-exclusive access
80 state.
81 .El
82 .Pp
83 Each multihost disk driver views the machine on which it's running as the
84 .Dq local host ;
|
1 .\" Copyright (c) 2005 Sun Microsystems, Inc. All Rights Reserved.
2 .\" Copyright (c) 2017, Joyent, Inc.
3 .\" The contents of this file are subject to the terms of the
4 .\" Common Development and Distribution License (the "License").
5 .\" You may not use this file except in compliance with the License.
6 .\"
7 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8 .\" or http://www.opensolaris.org/os/licensing.
9 .\" See the License for the specific language governing permissions
10 .\" and limitations under the License.
11 .\"
12 .\" When distributing Covered Code, include this CDDL HEADER in each
13 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14 .\" If applicable, add the following below this CDDL HEADER, with the
15 .\" fields enclosed by brackets "[]" replaced with your own identifying
16 .\" information: Portions Copyright [yyyy] [name of copyright owner]
17 .Dd February 17, 2020
18 .Dt MHD 7I
19 .Os
20 .Sh NAME
21 .Nm mhd
22 .Nd multihost disk control operations
23 .Sh SYNOPSIS
24 .In sys/mhd.h
25 .Sh DESCRIPTION
26 The
27 .Nm
28 .Xr ioctl 2
29 control access rights of a multihost disk, using
30 disk reservations on the disk device.
31 .Pp
32 The stability level of this interface (see
33 .Xr attributes 5 )
34 is evolving.
35 As a result, the interface is subject to change and you should limit your use of
36 it.
37 .Pp
44 It is described after the first two categories.
45 .Pp
46 All the ioctls require root privilege.
47 .Pp
48 For all of the ioctls, the caller should obtain the file descriptor for the
49 device by calling
50 .Xr open 2
51 with the
52 .Dv O_NDELAY
53 flag; without the
54 .Dv O_NDELAY
55 flag, the open may fail due to another host already having a
56 conflicting reservation on the device.
57 Some of the ioctls below permit the caller to forcibly clear a conflicting
58 reservation held by another host, however, in order to call the ioctl, the
59 caller must first obtain the open file descriptor.
60 .Ss "Non-shared multihost disks"
61 Non-shared multihost disks ioctls consist of
62 .Dv MHIOCTKOWN ,
63 .Dv MHIOCRELEASE ,
64 .Dv MHIOCSTATUS ,
65 and
66 .Dv MHIOCQRESERVE .
67 These ioctl requests control the access rights of non-shared multihost disks.
68 A non-shared multihost disk is one that supports serialized, mutually exclusive
69 I/O mastery by the connected hosts.
70 This is in contrast to the shared-disk model, in which
71 concurrent access is allowed from more than one host (see below).
72 .Pp
73 A non-shared multihost disk can be in one of two states:
74 .Bl -bullet -width indent
75 .It
76 Exclusive access state, where only one connected host has I/O access
77 .It
78 Non-exclusive access state, where all connected hosts have I/O access.
79 An external hardware reset can cause the disk to enter the non-exclusive access
80 state.
81 .El
82 .Pp
83 Each multihost disk driver views the machine on which it's running as the
84 .Dq local host ;
|