freebsd-skq/sys
phk b9e99ecd32 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
..
alpha Remove the last stray NO_GEOM option in our example kernel config files. 2003-01-19 11:50:45 +00:00
amd64 o Move the contents of <machine/floatingpoint.h> over to 2003-01-19 06:01:33 +00:00
arm MB_LEN_MAX is not MD, move it to the MI limits.h. 2002-12-22 06:38:45 +00:00
boot Simplify the Makefile by just using our standard PROG variable. 2003-01-18 23:09:56 +00:00
cam kernel: 2003-01-16 00:24:29 +00:00
coda Back our kernel support for reliable signal queues. 2002-10-01 17:15:53 +00:00
compat Add missing #include 2003-01-14 21:31:31 +00:00
conf Move NODEVFS and NO_GEOM to opt_global.h. 2003-01-19 10:02:47 +00:00
contrib SMP locking for ifnet list. 2002-12-22 05:35:03 +00:00
crypto make rc4 crypto support a module so other modules can depend on it 2003-01-15 19:55:17 +00:00
ddb Revert previous and move the prototype for db_alt_break to ddb.h. 2002-12-31 18:30:53 +00:00
dev Finally give CCD the disk mini-layer treatment: 2003-01-19 15:00:58 +00:00
fs Originally when DEVFS was added, a global variable "devfs_present" 2003-01-19 11:03:07 +00:00
geom Finally give CCD the disk mini-layer treatment: 2003-01-19 15:00:58 +00:00
gnu Since Jeffr made the std* functions the default in rev 1.63 of 2003-01-04 08:47:19 +00:00
i4b Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
i386 o Move the contents of <machine/floatingpoint.h> over to 2003-01-19 06:01:33 +00:00
ia64 Don't try to free() map in bus_dmamap_destroy() when it's 2003-01-18 18:33:56 +00:00
isa Make the SC_NO_SUSPEND_VTYSWITCH kernel option available as a loader 2003-01-15 03:45:27 +00:00
isofs/cd9660 Temporarily introduce a new VOP_SPECSTRATEGY operation while I try 2003-01-04 22:10:36 +00:00
kern #ifdef NO_GEOM these files entirely. When NO_GEOM is removed as an 2003-01-19 11:51:35 +00:00
libkern Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
modules Remove miidevs.h and generate it from miidevs at compile time. 2003-01-19 02:59:34 +00:00
net Originally when DEVFS was added, a global variable "devfs_present" 2003-01-19 11:03:07 +00:00
netatalk Lock up ifaddr reference counts. 2002-12-18 11:46:59 +00:00
netatm Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
netgraph Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
netinet Optimize away call to bzero() in the common case by directly checking 2003-01-18 19:03:26 +00:00
netinet6 "struct route" is not sufficient. NetBSD PR 18751 2003-01-08 17:59:24 +00:00
netipsec o handle jumbograms in m_clone 2003-01-09 05:30:25 +00:00
netipx Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
netkey "struct route" is not sufficient. NetBSD PR 18751 2003-01-08 17:59:24 +00:00
netnatm Be consistent about functions being static. 2002-10-16 09:19:17 +00:00
netncp - Change mb_copy_t to take a size_t as the length argument instead of an 2002-11-08 21:26:32 +00:00
netns Use m_length() instead of home-rolled versions. 2002-09-18 19:44:14 +00:00
netsmb Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
nfs Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
nfsclient Since Jeffr made the std* functions the default in rev 1.63 of 2003-01-04 08:47:19 +00:00
nfsserver Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
opencrypto Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
pc98 #ifdef NO_GEOM these files entirely. When NO_GEOM is removed as an 2003-01-19 11:51:35 +00:00
pccard Merge from P4: 2003-01-04 17:26:35 +00:00
pci Complete the support of the on-board xl(4) on nVidia nForce2 mobo's. 2003-01-19 04:47:54 +00:00
posix4 Use copyout to access user memory. 2003-01-07 20:10:04 +00:00
powerpc Removed unnecessary includes and brought up to date with ata 2003-01-18 11:46:50 +00:00
rpc
security Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
sparc64 The abs() function isn't defined locally; include a header file that 2003-01-16 08:53:03 +00:00
sys Finally give CCD the disk mini-layer treatment: 2003-01-19 15:00:58 +00:00
tools Remove miidevs.h and generate it from miidevs at compile time. 2003-01-19 02:59:34 +00:00
ufs Bow to the whining masses and change a union back into void *. Retain 2003-01-13 00:33:17 +00:00
vm Rev 1.16 renamed VM_METER to VM_TOTAL. This is breaking 3rd-party apps. 2003-01-18 21:14:02 +00:00
Makefile