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