summaryrefslogtreecommitdiff
path: root/sys/dev/ccd.c
AgeCommit message (Collapse)Author
2000-04-05Introduce new filesystem type FS_CCD so that an operator can mark theenami
ccd component partition. Note that the ccd driver still allows partitions of any types as components since an on-disk BSD disklabel isn't available on some port.
2000-03-30Remove register declarations.augustss
2000-03-16On initialization failure, free all the storage allocated to storeenami
component pathnames rather than the last one.
2000-02-08Since we now only allocate this one, no longer necessary to check and free().enami
1999-11-15Add Kirk McKusick's soft updates code to the trunk. Not enabled byfvdl
default, as the copyright on the main file (ffs_softdep.c) is such that is has been put into gnusrc. options SOFTDEP will pull this in. This code also contains the trickle syncer. Bump version number to 1.4O
1999-11-03from jason:chs
avoid biodone()ing the original buf twice when a component buf gets an error. fixes PR 8704.
1999-08-11We really only need *one* componenet buffer pool...thorpej
1999-03-04a kindler gentler fixmjacob
1999-03-04adjust format args for compiler changesmjacob
1999-02-12Fix some printf format problems on Alpha.thorpej
1999-01-21Fix a st00p1d bug I introduced in rev 1.57, which would cause any activitythorpej
on non-0 CCD units to crash the system.
1999-01-12Make this compile again with -DDEBUGchristos
1999-01-12Whole lotta cleanup wrt. how configuration data is stored internally, andthorpej
just lockmgr(), not our home-grown locking functions.
1998-11-13Handle the case where ccdbuffer() fails due to memory shortage. Buildthorpej
a fifo of component buffers, and free them if ccdbuffer() fails. Once all component buffers are build, run through the fifo and fire off the requests to the components.
1998-11-13Simplify calling of ccdbuffer() now that the mirroring code is nuked.thorpej
1998-11-13Return EINVAL if invalid flags are passed.thorpej
1998-11-13Nuke the mirroring code. RAIDframe is about to go in, and is a muchthorpej
better mirroring solution. The ccd driver will stay, even in the presence of RAIDframe, for applications where just RAID-0 is needed (much smaller code footprint).
1998-11-12Must use PR_NOWAIT when allocating component buffers.thorpej
1998-07-31Use the pool allocator for component buffer headers.thorpej
1998-07-09Fix int32_t overflow with large serially concatenated components,thorpej
from Noriyuki SODA <soda@sra.co.jp>, PR #5729.
1998-03-01Sweep up some miscellaneous leftover lite2 integration shrapnel.ross
1998-02-22Fix message printed in case (b) in last commit; what actually shouldn'tenami
exceeds is not a size of partition but end of partition.
1998-02-22Check disklabel just read from disk and warn if:enami
(a) total sector size is different from the size of ccd, or (b) size of a partition exceeds the size of ccd.
1998-02-06Allow a ccd component to be on any partition type.thorpej
1997-10-09Fix tipo inherited from old version of TNF copyright template.jtc
1997-10-08Implement DIOCGDEFLABEL.thorpej
1997-08-04%x -> 0x%xfair
1997-06-26Leftover from last commit: require us to be initialized when a DIOCGDINFOkleink
ioctl(2) is issued; the uninitialized disklabel pointer might get dereferenced otherwise.
1997-06-26In ccdioctl(), consolidate checks for "open for writes" and "initialized".thorpej
1997-06-23Two changes to ccdsize():thorpej
- If the partition was previously open, don't do the open/close steps. (Sync with other disk drivers.) - foosize()'s return value is in DEV_BSIZE units; adjust the size obtained from the disklabel accordingly.
1997-03-12Remove bogus use of splhigh(), and apparently unneeded bzero().mycroft
1997-01-30A performance optimization, inspired by a conversation with Thor Simon:thorpej
- Keep a freelist of component buffer headers, defaulting to 8 headers per component (tunable with the CCDNBUF kernel compile option). - When allocating a component buffer, try to pull a header off the freelist first, falling back on MALLOC() if the freelist is empty. Use MALLOC() rather than malloc(), because it will attempt to short-cut the allocation before actually making a full-blown malloc() call. - Keep statistics on how many component buffer headers have been allocated and how many of those allocations have resulted in freelist misses. With these changes, I observed measurable decreases in system and wall clock time on operations on an 8G ccd, as well as a measurable drop in the time spent in ccdbuffer() (measured with kernel profiling).
1997-01-30Fix OBOB in ccdopen() partition range check.thorpej
From Klaus Klein <kleink@layla.inka.de>, PR #3161.
1996-12-18Compute the componet number properly so that error reporting is somewhatthorpej
meaningful. Bug noticed by Marshall Midden <m4@nts.umn.edu>.
1996-10-13backout kprintf changeschristos
1996-10-10printf -> kprintf, sprintf -> ksprintfchristos
1996-05-05Fix bogus return value in ccdopen(); it failed to indicate an errorthorpej
condition if: - ccd was not initialized - partition did not exist
1996-04-22remove sys/cpu.hchristos
1996-03-30Remove dependencies to dev_conf.h and the file itself.christos
1996-03-24%d -> %ld in a few places...mrg
1996-03-07prototypes for ccd audio and ncr5380christos
1996-02-28Copyright assigned to The NetBSD Foundation.thorpej
1996-02-11Avoid deref'ing a bad pointer in ccdopen(). This could happen ifthorpej
any partition other than RAW_PART is opened before configuring the ccd. Bug pointed out by Matthew Green.
1996-02-10detatch this spelling mistake from this source file.hpeyerl
1996-02-06Fix typo, from Thorsten Frueauf <frueauf@ira.uka.de>.thorpej
1996-02-01Add experimental data mirroring support, derived from code written bythorpej
Satoshi Asami and Nisha Talagala. For details on using data mirroring, see the ccd(4) manual page.
1996-01-07New generic disk framework. Highlights:thorpej
- New metrics handling. Metrics are now kept in the new `struct disk'. Busy time is now stored as a timeval, and transfer count in bytes. - Storage for disklabels is now dynamically allocated, so that the size of the disk structure is not machine-dependent. - Several new functions for attaching and detaching disks, and handling metrics calculation. Old-style instrumentation is still supported in drivers that did it before. However, old-style instrumentation is being deprecated, and will go away once the userland utilities are updated for the new framework. For usage and architectural details, see the forthcoming disk(9) manual page.
1995-12-08When unconfiguring a ccd, only free as many interleave indices asthorpej
were allocated, which may not be the same as the number of components in the ccd. From Don Lewis <gdonl@gv.ssi1.com>. Fixes PR #1820.
1995-11-06Fix a race condition where if a process is asleep waiting on anthorpej
exclusive lock of a ccd device while another process is unconfiguring that same device, the first process would never awaken (unless interrupted).
1995-11-03In ccdstart(), only translate the block number from partition-relativethorpej
to absolute if part != RAW_PART.