bio
—
Block IO ioctl tunnel pseudo-device
The bio
driver provides userland applications
ioctl(2) access to devices
otherwise not found as /dev nodes. The
/dev/bio device node operates by delegating ioctl
calls to a requested device driver. Only drivers which have registered with
the bio
device can be accessed via this interface.
The following device drivers register with
bio
for volume management:
- arcmsr(4)
- Areca Technology Corporation SATA RAID controller
- cac(4)
- Compaq RAID array controller
- ciss(4)
- Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller
- mfi(4)
- LSI Logic & Dell MegaRAID SAS RAID controller
- mpt(4)
- LSI Fusion-MPT RAID controller
The following ioctl calls apply to the bio
device:
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.
BIOCINQ
- Retrieve number of volumes and physical disks for a specific device.
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).
BIOCDISK_NOVOL
- Is just the same as BIOCDISK but doesn't require the
disks to be in volume sets, so this applies to any physical disk connected
to the controller.
Note: this ioctl might not be supported on all hardware.
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.
BIOCALARM
- Control the alarm beeper on the device. Supported states are: disable
alarm, enable alarm, silence alarm, status and test alarm.
Note: These options might not be supported on all
hardware.
BIOCBLINK
- Blink an LED of the specified physical disk. Supported blink states are:
blink LED, unblink LED and blink alarm LED.
Note: This option is only supported if the disk is governed by
ses(4) and the hardware
supports hardware blinking.
BIOCSETSTATE
- Alter the state of specified physical disk. Supported states are:
create/remove hot-spare, create/remove pass through disk, start/stop
consistency check in a volume, online disk and offline disk.
Note: These options might not be supported on all
hardware.
BIOCVOLOPS
- For operations in volume sets. It's able to create and remove a volume set
in a supported RAID controller.
Note: this ioctl might not be supported on all hardware.
- /dev/bio
- ioctl tunnel device
The bio
driver first appeared in
OpenBSD 3.2 and NetBSD 4.0.