freebsd-dev/sys/geom
Poul-Henning Kamp 0f76d6d822 Finally give CCD the disk mini-layer treatment:
CAUTION:

        Previously CCD would be different from all other disks in
        the system in that there were no "ccd0" device, only a
        "ccd0c" device.

        This is no longer so after this commit.  If you access a
        ccd device through the "/dev/ccd0c" device _and_ have not
        actually put a BSD disklabel on the device, you will have
        to use the name "/dev/ccd0".  If your CCD device contains
        a BSD disklabel there should be no difference.

        You need to recompile ccdconfig(8) using the changed
        src/sys/sys/ccdvar.h for the -g "show me" option to work.

        I have run the regression test I created before I started
        overhauling CCD and it flags no problems, but this code
        is mildly evil, so take care.  If you would cry if you lost
        what's on CCD, make a back before you upgrade.

Create separate cdevsw for the /dev/ccd.ctl device.

Remove the cloning function, the disk-minilayer will do all naming
for us.

Remove the ccdunit and ccdpart functions and carry the softc pointer
in the relevant dev_t's and structures.

Release all memory when a CCD device is unconfigured, previously
the softc would linger behind.

Remove all traces of BSD disklabel fiddling code.

Remove ccdpsize, the disk mini-layer does this for us.

Don't allocate memory with M_WAITOK in ccdstrategy().

Remove boundary checks which the disk mini-layer does for us.

Don't allocate space for more than 2 ccdbuf, RAID was never implemented.

NB: I have not tried to address any of the preexisting ailments of CCD.
2003-01-19 15:00:58 +00:00
..
bde Optimize the size of the work-items by letting the mapping function 2003-01-02 19:29:49 +00:00
geom_aes.c Constification and some s/int/u_int/ changes. 2002-12-16 22:33:27 +00:00
geom_bsd.c Fix typo. 2003-01-13 08:44:03 +00:00
geom_ccd.c Finally give CCD the disk mini-layer treatment: 2003-01-19 15:00:58 +00:00
geom_ctl.c Straighten up the geom.ctl config interface definitions. 2002-11-06 20:05:15 +00:00
geom_dev.c Now that we have non-geom_disk based drivers, we need to cover for those, 2003-01-14 21:31:00 +00:00
geom_disk.c Constification and some s/int/u_int/ changes. 2002-12-16 22:33:27 +00:00
geom_dump.c Constification and some s/int/u_int/ changes. 2002-12-16 22:33:27 +00:00
geom_enc.c Constification ? Yes, out that door, row on the left, one patch each. 2002-10-15 18:21:53 +00:00
geom_event.c Remove g_silence(). It does not do anything anymore. 2003-01-13 08:46:32 +00:00
geom_gpt.c Constify the dumpconf() function. 2002-12-17 07:22:48 +00:00
geom_int.h Add the remaning part of the new libdisk interaction. 2002-10-28 22:43:54 +00:00
geom_io.c white-space changes 2002-12-26 21:02:50 +00:00
geom_kern.c Remove the "ascii" attribute from the sysctls so that "sysctl -a" will 2002-12-27 07:58:59 +00:00
geom_mbr.c Don't restrict MBR sectorsize to 512 bytes. 2003-01-11 12:30:51 +00:00
geom_mirror.c Add a very simple but functional GEOM mirror class. 2003-01-14 22:44:48 +00:00
geom_pc98.c In userland case include <errno.h>, not <err.h>. This is needed to make 2003-01-06 20:05:45 +00:00
geom_slice.c Add a check for negative offset locations and return EINVAL for them. 2002-12-17 21:31:58 +00:00
geom_slice.h Get rid of g_slice_addslice() and use g_slice_config() instead. 2002-12-16 23:08:48 +00:00
geom_subr.c We should not need to hold Giant for sbuf operations any more. 2002-12-26 20:46:30 +00:00
geom_sunlabel.c Get rid of g_slice_addslice() and use g_slice_config() instead. 2002-12-16 23:08:48 +00:00
geom.h Remove g_silence(). It does not do anything anymore. 2003-01-13 08:46:32 +00:00