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:
Areca Technology Corporation SATA RAID controller
Compaq RAID array controller
Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller
LSI Logic & Dell MegaRAID SAS 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.