1 .\" $NetBSD: bio.4,v 1.8 2008/05/25 20:57:48 wiz Exp $
2 .\" $OpenBSD: bio.4,v 1.19 2006/09/20 22:22:37 jmc Exp $
4 .\" Copyright (c) 2002 Niklas Hallqvist
5 .\" Copyright (c) 2006 Marco Peereboom
6 .\" All rights reserved.
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\" notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\" notice, this list of conditions and the following disclaimer in the
15 .\" documentation and/or other materials provided with the distribution.
16 .\" 3. The name of the author may not be used to endorse or promote products
17 .\" derived from this software without specific prior written permission.
19 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
23 .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24 .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25 .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27 .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
28 .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 .\" POSSIBILITY OF SUCH DAMAGE.
36 .Nd Block IO ioctl tunnel pseudo-device
38 .Cd "pseudo-device bio"
42 driver provides userland applications
44 access to devices otherwise not found as
49 device node operates by delegating ioctl
50 calls to a requested device driver.
51 Only drivers which have registered with the
53 device can be accessed via this interface.
55 The following device drivers register with
57 for volume management:
59 .Bl -tag -width ciss(4)XX -offset indent -compact
61 .\" American Megatrends Inc. MegaRAID PATA/SATA/SCSI RAID controller
63 Areca Technology Corporation SATA RAID controller
65 Compaq RAID array controller
67 Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller
69 LSI Logic \*[Am] Dell MegaRAID SAS RAID controller
72 The following ioctl calls apply to the
75 .Bl -tag -width BIOCCAPABILITIES
77 Locate a named device and give back a cookie to the application
78 for subsequent ioctl calls.
79 The cookie is used to tunnel further ioctls to the right device.
81 Retrieve number of volumes and physical disks for a specific device.
83 Retrieve detailed information for the specified physical disk.
84 Information returned can include status, size, channel, target, lun,
85 vendor name, serial number, and processor device (ses).
90 but doesn't require the disks to be in volume sets, so this
91 applies to any physical disk connected to the controller.
93 Note: this ioctl might not be supported on all hardware.
95 Retrieve detailed information for the specified volume.
96 Information returned can include status, size, RAID level, number of disks,
97 device name association (sd?) and vendor name.
99 Control the alarm beeper on the device.
100 Supported states are: disable alarm, enable alarm, silence alarm, status and
103 Note: These options might not be supported on all hardware.
105 Blink an LED of the specified physical disk.
106 Supported blink states are: blink LED, unblink LED and blink alarm LED.
108 Note: This option is only supported if the disk is governed by
112 and the hardware supports hardware blinking.
114 Alter the state of specified physical disk.
115 Supported states are: create/remove hot-spare, create/remove pass through
116 disk, start/stop consistency check in a volume, online disk and offline disk.
118 Note: These options might not be supported on all hardware.
120 For operations in volume sets.
121 It's able to create and remove a volume
122 set in a supported RAID controller.
124 Note: this ioctl might not be supported on all hardware.
127 .Bl -tag -width /dev/bio -compact
137 driver first appeared in
145 driver was written by
146 .An Niklas Hallqvist Aq niklas@openbsd.org .
147 The API was written by
148 .An Marco Peereboom Aq marco@openbsd.org
149 and was extended even more for
152 .An Juan Romero Pardines Aq xtraeme@netbsd.org .