freebsd-skq/sys/cam
phk a246e10f55 Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new
field in struct buf: b_iocmd.  The b_iocmd is enforced to have
exactly one bit set.

B_WRITE was bogusly defined as zero giving rise to obvious coding
mistakes.

Also eliminate the redundant struct buf flag B_CALL, it can just
as efficiently be done by comparing b_iodone to NULL.

Should you get a panic or drop into the debugger, complaining about
"b_iocmd", don't continue.  It is likely to write on your disk
where it should have been reading.

This change is a step in the direction towards a stackable BIO capability.

A lot of this patch were machine generated (Thanks to style(9) compliance!)

Vinum users:  Greg has not had time to test this yet, be careful.
2000-03-20 10:44:49 +00:00
..
scsi Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
cam_ccb.h Various typo's. 2000-03-15 21:55:48 +00:00
cam_debug.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam_extend.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cam_extend.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam_periph.c Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new 2000-03-20 10:44:49 +00:00
cam_periph.h Various typo's. 2000-03-15 21:55:48 +00:00
cam_queue.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cam_queue.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam_sim.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cam_sim.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam_xpt_periph.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam_xpt_sim.h Clean up the xpt_sim creation to mirror how HBA drivers perform this task. 2000-01-14 23:08:46 +00:00
cam_xpt.c Various typo's. 2000-03-15 21:55:48 +00:00
cam_xpt.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
cam.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cam.h Various typo's. 2000-03-15 21:55:48 +00:00