2008-01-03 02:49:31 +03:00
|
|
|
.\" $NetBSD: bio.4,v 1.4 2008/01/02 23:49:31 xtraeme Exp $
|
2007-05-01 21:18:52 +04:00
|
|
|
.\" $OpenBSD: bio.4,v 1.19 2006/09/20 22:22:37 jmc 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.
|
|
|
|
.\"
|
2008-01-03 02:49:31 +03:00
|
|
|
.Dd January 2, 2008
|
2007-05-01 21:18:52 +04:00
|
|
|
.Dt BIO 4
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm bio
|
|
|
|
.Nd Block IO ioctl tunnel pseudo-device
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Cd "pseudo-device bio"
|
|
|
|
.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
|
|
|
|
The following device drivers register with
|
|
|
|
.Nm
|
|
|
|
for volume management:
|
|
|
|
.Pp
|
|
|
|
.Bl -tag -width ciss(4)XX -offset indent -compact
|
|
|
|
.\" .It Xr ami 4
|
|
|
|
.\" American Megatrends Inc. MegaRAID PATA/SATA/SCSI RAID controller
|
2007-12-05 15:30:54 +03:00
|
|
|
.It Xr arcmsr 4
|
|
|
|
Areca Technology Corporation SATA RAID controller
|
2007-05-01 21:18:52 +04:00
|
|
|
.\" .It Xr ciss 4
|
|
|
|
.\" Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller
|
|
|
|
.It Xr mfi 4
|
2007-12-03 00:52:30 +03:00
|
|
|
LSI Logic \*[Am] Dell MegaRAID SAS RAID controller
|
2007-05-01 21:18:52 +04:00
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
The following ioctl calls apply to the
|
|
|
|
.Nm bio
|
|
|
|
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).
|
2008-01-03 02:49:31 +03:00
|
|
|
.It Dv BIOCDISK_NOVOL
|
|
|
|
It's just the same than
|
|
|
|
.Em BIOCDISK
|
|
|
|
but this doesn't require the disks to be in volume sets, so this
|
|
|
|
applies to any physical disk connected to the controller.
|
|
|
|
.Pp
|
|
|
|
Note: this ioctl might not be supported on all hardware.
|
2007-05-01 21:18:52 +04:00
|
|
|
.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 ses(4) or
|
|
|
|
safte(4) and the hardware supports hardware blinking.
|
|
|
|
.It Dv BIOCSETSTATE
|
|
|
|
Alter the state of specified physical disk.
|
2008-01-03 02:49:31 +03:00
|
|
|
Supported states are: create/remove hot-spare, create/remove pass through
|
|
|
|
disk, start/stop consistency check in a volume, online disk and offline disk.
|
|
|
|
.Pp
|
|
|
|
Note: These options might not be supported on all hardware.
|
|
|
|
.It Dv BIOCVOLOPS
|
|
|
|
For operations in volume sets. It's able to create and remove a volume
|
|
|
|
set in a supported RAID controller.
|
|
|
|
.Pp
|
|
|
|
Note: this ioctl might not be supported on all hardware.
|
2007-05-01 21:18:52 +04:00
|
|
|
.El
|
|
|
|
.Sh FILES
|
|
|
|
.Bl -tag -width /dev/bio -compact
|
|
|
|
.It Pa /dev/bio
|
|
|
|
ioctl tunnel device
|
|
|
|
.El
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr ioctl 2 ,
|
|
|
|
.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 niklas@openbsd.org .
|
|
|
|
The API was written by
|
2008-01-03 02:49:31 +03:00
|
|
|
.An Marco Peereboom Aq marco@openbsd.org
|
|
|
|
and was extended even more for
|
|
|
|
.Nx
|
|
|
|
by
|
|
|
|
.An Juan Romero Pardines Aq xtraeme@netbsd.org .
|