freebsd-src/sys/cam
Poul-Henning Kamp 7812d86f03 (This commit touches about 15 disk device drivers in a very consistent
and predictable way, and I apologize if I have gotten it wrong anywhere,
getting prior review on a patch like this is not feasible, considering
the number of people involved and hardware availability etc.)

If struct disklabel is the messenger: kill the messenger.

Inside struct disk we had a struct disklabel which disk drivers used to
communicate certain metrics to the disklayer above (GEOM or the disk
mini-layer).  This commit changes this communication to use four
explicit fields instead.

Amongst the benefits is that the fields do not get overwritten by
wrong or bogus on-disk disklabels.

Once that is clear, <sys/disk.h> which is included in the drivers
no longer need to pull <sys/disklabel.h> and <sys/diskslice.h> in,
the few places that needs them, have gotten explicit #includes for
them.

The disklabel inside struct disk is now only for internal use in
the disk mini-layer, so instead of embedding it, we malloc it as
we need it.

This concludes (modulus any mistakes) the series of disklabel related
commits.

I belive it all amounts to a NOP for all the rest of you :-)

Sponsored by:   DARPA & NAI Labs.
2002-09-20 19:36:05 +00:00
..
scsi (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
cam.c Define the kern.cam sysctl in the cam layer, rather than multiply in several 2002-01-09 03:39:04 +00:00
cam.h Define the kern.cam sysctl in the cam layer, rather than multiply in several 2002-01-09 03:39:04 +00:00
cam_ccb.h Add a transport settings variant for Fibre Channel. 2001-06-24 18:17:45 +00:00
cam_debug.h
cam_periph.c Make SCSI_DELAY setable at boot time and runtime via the 2002-09-02 20:10:19 +00:00
cam_periph.h
cam_queue.c
cam_queue.h
cam_sim.c
cam_sim.h
cam_xpt.c Make SCSI_DELAY setable at boot time and runtime via the 2002-09-02 20:10:19 +00:00
cam_xpt.h
cam_xpt_periph.h
cam_xpt_sim.h