i2o_bs(7D) Devices i2o_bs(7D)
NAME
i2o_bs - Block Storage OSM for I2O
SYNOPSIS
disk@local target id#:a through u
disk@local target id#:a through u raw
DESCRIPTION
The I2O Block Storage OSM abstraction (BSA, which also is referred to as block storage class) layer is the primary interface that Solaris
operating environments use to access block storage devices. A block storage device provides random access to a permanent storage medium.
The i2o_bs device driver uses I2O Block Storage class messages to control the block device; and provides the same functionality (ioctls,
for example) that is present in the Solaris device driver like 'cmdk, dadk' on x86 for disk. The maximum size disk supported by i2o_bs is
the same as what is available on x86.
The i2o_bs is currently implemented version 1.5 of Intelligent IO specification.
The block files access the disk using the system's normal buffering mechanism and are read and written without regard to physical disk
records. There is also a "raw" interface that provides for direct transmission between the disk and the user's read or write buffer. A
single read or write call usually results in one I/O operation; raw I/O is therefore considerably more efficient when many bytes are
transmitted. The names of the block files are found in /dev/dsk; the names of the raw files are found in /dev/rdsk.
I2O associates each block storage device with a unique ID called a local target id that is assigned by I2O hardware. This information can
be acquired by the block storage OSM through I2O Block Storage class messages. For Block Storage OSM, nodes are created in
/devices/pci#/pci# which include the local target ID as one component of device name that the node refers to. However the /dev names and
the names in /dev/dsk and /dev/rdsk do not encode the local target id in any part of the name.
For example, you might have the following:
/devices/ /dev/dsk name
---------------------------------------------------------------
/devices/pci@0,0/pci101e,0@10,1/disk@10:a /dev/dsk/c1d0s0
I/O requests to the disk must have an offset and transfer length that is a multiple of 512 bytes or the driver returns an EINVAL error.
Slice 0 is normally used for the root file system on a disk, slice 1 is used as a paging area (for example, swap), and slice 2 for backing
up the entire fdisk partition for Solaris software. Other slices may be used for usr file systems or system reserved area.
Fdisk partition 0 is to access the entire disk and is generally used by the fdisk(1M) program.
FILES
/dev/dsk/cndn[s|p]n block device
/dev/rdsk/cndn[s|p]n raw device
where:
cn controller n
dn instance number
sn UNIX system slice n (0-15)
pn fdisk partition(0)
/kernel/drv/i2o_bs i2o_bs driver
/kernel/drv/i2o_bs.conf Configuration file
ATTRIBUTES
See attributes(5)
for descriptions of the following attributes:
+-----------------------------+-----------------------------+
|ATTRIBUTE TYPE |ATTRIBUTE VALUE
+-----------------------------+-----------------------------+
|Architecture |x86 |
+-----------------------------+-----------------------------+
SEE ALSO
fdisk(1M), format(1M)mount(1M),lseek(2), read(2), write(2), readdir(3C), vfstab(4), acct.h(3HEAD), attributes(5), dkio(7I)
SunOS 5.10 21 Jul 1998 i2o_bs(7D)