BIO(4) | Device Drivers Manual | BIO(4)

# NAME

bio — Block IO ioctl tunnel pseudo-device

# SYNOPSIS

pseudo-device bio

# DESCRIPTION

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.

# FILES

/dev/bio
  ioctl tunnel device

# SEE ALSO

ioctl(2), bioctl(8)

# HISTORY

The bio driver first appeared in OpenBSD 3.2 and NetBSD 4.0.

# AUTHORS

The bio driver was written by Niklas Hallqvist <niklas@openbsd.org>. The API was written by Marco Peereboom <marco@openbsd.org> and was extended even more for NetBSD by Juan Romero Pardines <xtraeme@netbsd.org>.

Sep 27, 2014 | NetBSD 8.0