Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
BIO(4)		       FreeBSD Kernel Interfaces Manual			BIO(4)

     bio -- block I/O ioctl tunnel pseudo-device

     pseudo-device bio [count]

     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.

     If	count is given in the specification, and is greater than 0, a maximum
     of	one bio	device is created.

     The following device drivers register with	bio for	volume management:

	   ami(4)	  American Megatrends Inc. MegaRAID PATA/SATA/SCSI
			  RAID controller
	   arc(4)	  Areca	Technology Corporation SAS/SATA	RAID con-
	   cac(4)	  Compaq Smart Array 2/3/4 SCSI	RAID controller
	   ciss(4)	  Compaq Smart Array SAS/SATA/SCSI RAID	controller
	   ips(4)	  IBM SATA/SCSI	ServeRAID controller
	   mfi(4)	  LSI Logic & Dell MegaRAID SAS	RAID controller
	   mfii(4)	  LSI Logic MegaRAID SAS Fusion	RAID controller
	   mpi(4)	  LSI Logic Fusion-MPT Message Passing Interface
	   mpii(4)	  LSI Logic Fusion-MPT Message Passing Interface II
	   softraid(4)	  Software RAID

     The following device drivers register with	bio to provide enclosure man-

	   safte(4)    SCSI Accessed Fault-Tolerant Enclosure
	   ses(4)      SCSI Enclosure Services

     The following ioctl calls apply to	the bio	device:

     BIOCLOCATE	struct bio_locate *
	     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 struct bioc_inq *
	     Retrieve number of	volumes	and physical disks for a specific de-

     BIOCDISK struct bioc_disk *
	     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

     BIOCVOL struct bioc_vol *
	     Retrieve detailed information for the specified volume.  Informa-
	     tion returned can include status, size, RAID level, number	of
	     disks, device name	association (sd?) and vendor name.

     BIOCALARM struct bioc_alarm *
	     Control the alarm beeper on the device.  Supported	states are:
	     disable alarm, enable alarm, silence alarm, status	and test

	     Note:  These options might	not be supported on all	hardware.

     BIOCBLINK struct bioc_blink *
	     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) or safte(4)	and the	hardware supports hardware blinking.

     BIOCSETSTATE struct bioc_setstate *
	     Alter the state of	specified physical disk.  Supported states
	     are: create hot-spare, online disk	and offline disk.

     The following ioctl calls apply to	the bio	device only when talking to a
     softraid(4) device:

     BIOCCREATERAID struct bioc_createraid *
	     Create a new volume or assemble an	existing volume.  The volume
	     will be attached as a system disk,	if this	capability is sup-
	     ported by the volume discipline.

     BIOCDELETERAID struct bioc_deleteraid *
	     Remove system disk	(if present) and disassemble the softraid(4)

     BIOCDISCIPLINE struct bioc_discipline *
	     Dispatch a	discipline specific ioctl.

     BIOCINSTALLBOOT struct bioc_installboot *
	     Install a boot loader.

     /dev/bio  ioctl tunnel device

     ioctl(2), softraid(4), bioctl(8)

     The bio driver first appeared in OpenBSD 3.2.

     The bio driver was	written	by Niklas Hallqvist <>.  The
     API was written by	Marco Peereboom	<>.

FreeBSD	13.0		       November	26, 2016		  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help