Commit Graph

38 Commits

Author SHA1 Message Date
oster
14de6c2418 Cleanup shutdown code - garbage collect (now) unused shutdownhooks() stuff. 1999-03-27 01:26:37 +00:00
oster
efe288e520 Correct a component label problem where a RAID 1 set with a
failed component would not configure properly in certain situations.
1999-03-18 03:02:38 +00:00
oster
2ec2c2045f Cleanup rf_RewriteParity() and rf_VerifyParity(). Nuke unused stuff,
and make more readable.
1999-03-14 22:10:46 +00:00
oster
414b788837 Disallow interrupting parity re-writes or copybacks by removing PCATCH
from the tsleep()'s (they probably shouldn't have been there in the
first place!).  Making parity re-writing and copybacks interruptable
will require re-designing how a few things are done (e.g. how memory
is freed for structures shipped off to routines that run asynchronously
relative to the calling routine).  Fix a few other tsleep's while we're at it.
1999-03-14 21:53:31 +00:00
oster
cd0a696176 Cleanup raidattach: move rf_boot's functionality to raidattach, and
nuke rf_boot().  Cleanup raidopen().
1999-03-09 03:53:18 +00:00
oster
e39fe5e2fe Cleanup unused cruft. 1999-03-09 03:52:41 +00:00
oster
29daf0c77d rf_update_component_labels() now lives here. Re-work clean-bit
support a little: clean-bits now also get frobbed on partition
opening/closing, rather than just at device configuration and device
unconfiguration.  Schedule shutdownhooks() stuff for nukage at a later
date, since it isn't really necessary any more.
1999-03-09 02:59:25 +00:00
oster
585c77594e Move rf_update_component_labels() from here to rf_netbsdkintf.c. 1999-03-09 02:57:29 +00:00
oster
98d8c12355 Update for recent changes including component label support, clean
bits, rebuilding components in-place, adding hot spares, shutdownhooks, etc.
1999-03-02 03:18:48 +00:00
oster
ee9187f136 After a vn_close(), set the vnode * to NULL so we don't try closing it
again later.
1999-02-27 03:43:20 +00:00
oster
a76f56098c Do the VOP_UNLOCK() on an initialized vp, rather than random garbage. 1999-02-27 01:48:13 +00:00
oster
65be57243f Minor cleanups and code rearranging. Now knows a little about component
labels and how to deal with hot-adding spare components.  Still work in
progress -- component labels and hot-adding are not enabled (yet).
1999-02-24 00:00:03 +00:00
oster
be9eca67c8 Cleanup/remove unused cruft. First kick at component labels and clean bits.
Still work in progress.  New code is there, but not enabled yet.
1999-02-23 23:57:53 +00:00
oster
07b6b89dce Move vnode cleanup code into one place. Cleanup a bit. 1999-02-23 23:55:29 +00:00
oster
0d29172def Do a VOP_UNLOCK() before a vn_close(). 1999-02-23 23:53:37 +00:00
oster
6d72c8f0e7 Minor cleanups that got missed last time through. 1999-02-11 01:23:32 +00:00
oster
0014588545 Phase 2 of the RAIDframe cleanup. The source is now closer to KNF
and is much easier to read.  No functionality changes.
1999-02-05 00:06:06 +00:00
oster
58f7de552d Nuke more bits of RAIDframe "demo" code. We're not "demoing" here,
we're doing the Real Thing!
1999-01-26 04:40:03 +00:00
oster
472e649cd8 More simulator bits going bye-bye. 1999-01-26 04:05:01 +00:00
oster
c52883118d This stuff is no longer needed. Mostly simulator bits. 1999-01-26 03:56:21 +00:00
oster
a37be85529 rf_ccmn.h no longer needed. Nuke it's inclusion from rf_disks.c. 1999-01-26 03:49:49 +00:00
oster
d94a2c5b2a These files are not used in the kernel driver. We don't need them any more. 1999-01-26 03:07:10 +00:00
oster
1eecf8e491 RAIDframe cleanup, phase 1. Nuke simulator support, user-land driver,
out-dated comments, and other unneeded stuff.  This helps prepare
for cleaning up the rest of the code, and adding new functionality.

No functional changes to the kernel code in this commit.
1999-01-26 02:33:49 +00:00
explorer
edd259d12e Make it so raidframe will only perform synchronous writes, and async
reads.  This avoids a problem where many writes will cause the driver
to allocate way too much memory.

This needs to change to a queueing system later, which will provide a
way to limit the memory consumed by the driver.

Without these changes, raidframe would use 24M or more on my machine when
the buffer cache dumped all its dirty blocks.  Now it uses around 200k
or so.
1999-01-15 17:55:52 +00:00
thorpej
d8f3aefec7 Use M_RAIDFRAME. 1999-01-14 22:49:05 +00:00
oster
4128f9df1e Duh... check that malloc() hasn't returned a NULL *before* we zero the buffer,
not after. Pointed out by Michael Graff.
1999-01-14 20:29:38 +00:00
oster
e392d933c8 Clean up some debugging stuff, and make it compile without warnings
with -DDEBUG on alphas.
1998-12-22 20:03:14 +00:00
oster
1b04131eff Try a bit harder to detect the physical failure of a component, and to
mark that component as dead.  Physical failures are handled much better now.
1998-12-03 15:14:40 +00:00
oster
3f3d8e85e6 If a configuration fails due to a non-existant spare, remember to release
any previously allocated components before bailing.  Credit to Manuel Bouyer
for noticing this.
1998-12-03 15:06:25 +00:00
oster
679de7e878 Fix (potential) referencing of null pointer in (verbose) debugging mode. 1998-12-03 14:58:24 +00:00
oster
b66ca92f4a Initialize (to NULL) a variable in rf_CvscanPromote(). 1998-11-18 15:13:51 +00:00
mycroft
7eac22153a Use types.h, endian.h and limits.h to configure the RAIDframe
types correctly for all hardware platforms.
1998-11-16 04:14:10 +00:00
hubertf
3f1c86b59e compile with DEBUG=1 1998-11-15 00:01:24 +00:00
drochner
a0c0e7eff1 fix egcs warning 1998-11-13 13:47:56 +00:00
drochner
acdd660ace fix callback type 1998-11-13 13:45:15 +00:00
simonb
a9c167b273 prototype un-prototyped functions 1998-11-13 11:51:55 +00:00
simonb
8e893eff9e Add braces around 'if' to pacify egcs 1998-11-13 11:48:26 +00:00
oster
38a3987b69 RAIDframe, version 1.1, from the Parallel Data Laboratory at
Carnegie Mellon University.  Full RAID implementation, including
levels 0, 1, 4, 5, 6, parity logging, and a few other goodies.
Ported to NetBSD by Greg Oster.
1998-11-13 04:20:26 +00:00