handle block device input and output
for synopsis, arguments, return values,
[This may be unnecessary. Is anything different
for SCSI peripheral drivers?]
The logic is as follows:
Check the configuration table for the device pointed to by
If it is improper,
u.u_error to ENXIO and return.
bp->b_blkno and, if less than zero,
b_flags to an error condition,
Check that the I/O request is reasonable.
If not, set an error condition,
call iodone and return.
Get an empty request block; sleep if necessary to obtain one.
and then call
to put the buffer pointed to by
into the proper spot in the request queue.
entry point routine to start the request
on the queue for the logical unit.
When done, restore the previously set spl level and return.
Context and synchronization
1, 2, 3, 4, 5
SCSI peripheral drivers.
Differences between versions
Drivers that contain a
routine must have a b in the second column of the
file to indicate that it is a block device.
The kernel expects a
routine for every block driver that is configured.
``OSDI SCSI driver interface version for SCO OpenServer 5'' in HDK Technical Reference
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 5 HDK - June 2005