BIO(4) | Device Drivers Manual | BIO(4) |
bio
—
pseudo-device bio
#include <dev/biovar.h>
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:
The following ioctl calls apply to the bio
device:
BIOCLOCATE
BIOCINQ
BIOCDISK
BIOCDISK_NOVOL
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. It is
a NetBSD extension of
bio
. It is supported by
arcmsr(4),
ciss(4), and
mpt(4). It is also supported
by cac(4), but handled
exactly the same as BIOCDISK
.
BIOCVOL
BIOCALARM
Note: These options might not be supported on all hardware. It is supported by arcmsr(4), mfi(4), and mfii(4).
BIOCBLINK
Note: This option is only supported if the disk is governed by ses(4) and the hardware supports hardware blinking. It is supported by ciss(4), mfi(4), and mfii(4).
BIOCSETSTATE
Note: These options might not be supported on all hardware. Some of these options are supported by arcmsr(4), mfi(4), and mfii(4).
Online, offline and hotspare designations are supported by
mfi(4) and
mfii(4), plus a rebuild
designation is supported by
mfii(4); all four of these
state options are the original states from
OpenBSD, the other options, including hotspare
unmarking, being NetBSD extensions of
bio
.
Hotspare, pass through and consistency check options are supported by arcmsr(4).
BIOCVOLOPS
Note: this ioctl might not be supported on all hardware. It is
a NetBSD extension of
bio
, and is supported by
arcmsr(4).
The bioctl(8)
utility can be used to perform the above controls from the userland.
Additionally, since BIOCVOL
volume status is
normally duplicated into
sysmon_envsys(9)
sensors of ENVSYS_DRIVE
type, it is also available
through envsys(4), and can be
monitored with envstat(8) and
powerd(8).
bio
driver first appeared in
OpenBSD 3.2 and NetBSD 4.0.
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>.
May 9, 2019 | NetBSD 9.4 |