1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
.\" $OpenBSD: bio.4,v 1.30 2013/07/16 16:05:48 schwarze Exp $
.\"
.\" Copyright (c) 2002 Niklas Hallqvist
.\" Copyright (c) 2006 Marco Peereboom
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. The name of the author may not be used to endorse or promote products
.\" derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
.\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
.Dd $Mdocdate: July 16 2013 $
.Dt BIO 4
.Os
.Sh NAME
.Nm bio
.Nd block I/O ioctl tunnel pseudo-device
.Sh SYNOPSIS
.Cd "pseudo-device bio" Op Ar count
.Sh DESCRIPTION
The
.Nm
driver provides userland applications
.Xr ioctl 2
access to devices otherwise not found as
.Pa /dev
nodes.
The
.Pa /dev/bio
device node operates by delegating ioctl
calls to a requested device driver.
Only drivers which have registered with the
.Nm
device can be accessed via this interface.
.Pp
If
.Ar count
is given in the specification, and is greater than 0, a maximum of one
.Nm bio
device is created.
.Pp
The following device drivers register with
.Nm
for volume management:
.Pp
.Bl -tag -width softraid(4)XX -offset indent -compact
.It Xr ami 4
American Megatrends Inc. MegaRAID PATA/SATA/SCSI RAID controller
.It Xr arc 4
Areca Technology Corporation SAS/SATA RAID controller
.It Xr cac 4
Compaq Smart ARRAY 2/3/4 SCSI RAID controller
.It Xr ciss 4
Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller
.It Xr ips 4
IBM SATA/SCSI ServeRAID controller
.It Xr mfi 4
LSI Logic & Dell MegaRAID SAS RAID controller
.It Xr mpi 4
LSI Logic Fusion-MPT Message Passing Interface
.It Xr mpii 4
LSI Logic Fusion-MPT Message Passing Interface II
.It Xr softraid 4
Software RAID
.El
.Pp
The following device drivers register with
.Nm
to provide enclosure management:
.Pp
.Bl -tag -width safte($)XX -offset indent -compact
.It Xr safte 4
SCSI Accessed Fault-Tolerant Enclosure
.It Xr ses 4
SCSI Enclosure Services
.El
.Pp
The following ioctl calls apply to the
.Nm
device:
.Bl -tag -width BIOCCAPABILITIES
.It Dv BIOCLOCATE
Locate a named device and give back a cookie to the application
for subsequent ioctl calls.
The cookie is used to tunnel further ioctls to the right device.
.It Dv BIOCINQ
Retrieve number of volumes and physical disks for a specific device.
.It Dv BIOCDISK
Retrieve detailed information for the specified physical disk.
Information returned can include status, size, channel, target, lun,
vendor name, serial number and processor device (ses or safte).
.It Dv BIOCVOL
Retrieve detailed information for the specified volume.
Information returned can include status, size, RAID level, number of disks,
device name association (sd?) and vendor name.
.It Dv BIOCALARM
Control the alarm beeper on the device.
Supported states are: disable alarm, enable alarm, silence alarm, status and
test alarm.
.Pp
Note: These options might not be supported on all hardware.
.It Dv BIOCBLINK
Blink an LED of the specified physical disk.
Supported blink states are: blink LED, unblink LED and blink alarm LED.
.Pp
Note: This option is only supported if the disk is governed by
.Xr ses 4
or
.Xr safte 4
and the hardware supports hardware blinking.
.It Dv BIOCSETSTATE
Alter the state of specified physical disk.
Supported states are: create hot-spare, online disk and offline disk.
.El
.Pp
The following ioctl calls apply to the
.Nm
device only when talking to a
.Xr softraid 4
device:
.Bl -tag -width BIOCCREATERAID
.It Dv BIOCCREATERAID
Create a new volume or assemble an existing volume.
The volume will be attached as a system disk, if this capability is supported
by the volume discipline.
.It Dv BIOCDELETERAID
Remove system disk (if present) and disassemble the
.Xr softraid 4
volume.
.It Dv BIOCDISCIPLINE
Dispatch a discipline specific ioctl.
.El
.Sh FILES
.Bl -tag -width /dev/bio -compact
.It Pa /dev/bio
ioctl tunnel device
.El
.Sh SEE ALSO
.Xr ioctl 2 ,
.Xr softraid 4 ,
.Xr bioctl 8
.Sh HISTORY
The
.Nm
driver first appeared in
.Ox 3.2 .
.Sh AUTHORS
.An -nosplit
The
.Nm
driver was written by
.An Niklas Hallqvist Aq Mt niklas@openbsd.org .
The API was written by
.An Marco Peereboom Aq Mt marco@openbsd.org .
|