summaryrefslogtreecommitdiffstats
path: root/sys/dev/ccd
Commit message (Collapse)AuthorAgeFilesLines
* Remove devconf, it never grew up to be of any use.phk1996-09-061-2/+1
|
* Fail when odd number of disks are specified with mirror flag. Memoryasami1996-07-241-28/+36
| | | | | | leak fixes. Miscellaneous cleanup. Partially submitted by: Matt White <mwhite+@CMU.EDU>
* Make a "DWIM" function for adding [bc]devsw entries for bdev drivers.phk1996-07-231-14/+3
| | | | | | | | | Saves about 280 butes of source per driver, 56 bytes in object size and another 56 bytes moves from data to bss. No functional change intended nor expected. GENERIC should be about one k smaller now :-)
* Substitute raw{read|write} for ccd{read|write}phk1996-07-211-59/+2
|
* Clean up -Wunused warnings.gpalmer1996-06-121-10/+7
| | | | Reviewed by: bde
* Add #ifndef/#endif around the "#define CCD_OFFSET 16", so you can overrideasami1996-05-131-1/+3
| | | | | | it in your kernel config file. Requested (in essence) by: phk
* Leave 16 lines in front of each component partition. It's now safe toasami1996-05-131-3/+10
| | | | | | | use sd87a or sd237e even if they start at the beginning of the slice. You can also use sd85c if you prefer, although you need to change the type field in the disklabel to "4.2BSD".
* Add missing "int" to static var.asami1996-04-241-2/+2
|
* Change how mirror writes are handled, according to the discussion on theasami1996-03-261-9/+39
| | | | | | | | | | | | | | | | | | mailing list. When initiating a write, ccdbuffer() returns two "struct ccdbuf *"s linked together by the cb_mirror field. "cb_pflags & CCDPF_MIRROR_DONE" is set to 0 on both of them. When a component returns to ccdiodone(), it checks if "cb_pflags & CCDPF_MIRROR_DONE" is set or not. If not, it sets the partner's flag and returns. If it is, it means its partner has already returned, so it will go to the regular cleanup (which is in the fallthrough code). There should be no performance or functionality changes unless the higher-level scsi driver does something with the resid value. The change is purely aesthetical and prepares us for the parity implementation.
* Ported to 2.2-current. Uses [bc]devsw_add(), and is also now a properasami1996-03-211-69/+66
| | | | | | pseudo-device. Doesn't use devfs correctly yet.
* Fix one warning and fix one bug found while looking at another warning (butasami1996-01-311-1/+9
| | | | | | | | | caused by a different reason): . #ifndef __FreeBSD__ around check for negative size, FreeBSD size_t is unsigned . Disable mirror/parity if interleave size is 0 (i.e., serial concatenation).
* Mirror support. When CCDF_MIRROR is set:asami1996-01-311-15/+41
| | | | | | | | | | | | | (1) The reads are always done from the first n/2 disks. (2) Each write is done twice, to the "data" disk (in the first half) and the "mirror" disk (in the second half). ccdbuffer() now takes an extra argument (struct ccdbuf **) and stores the pointer to ccdbuf in there. In case of a mirrored write, it allocates and stores two pointers. The "residual" is also doubled for mirrored writes so that ccdiodone() can correctly tell when all the writes are done.
* Prepare for adding mirroring. Check for flags (mirror forces uniform),asami1996-01-301-6/+25
| | | | | reduce the size to half, etc. Right now it only uses the first n/2 disks for both read and write.
* Prepare to add support for parity. Report the post-parity size,asami1996-01-021-4/+20
| | | | allocate space around parity blocks.
* Added $Id$.asami1995-12-281-0/+2
|
* Changes to make it work on FreeBSD-2.1.asami1995-12-271-36/+113
|
* ccd.c and ccd.4 from NetBSD-current circa 12/25/95.asami1995-12-271-0/+1428
OpenPOWER on IntegriCloud