Commit Graph

35 Commits

Author SHA1 Message Date
oster e38b4355e2 Abort any parity re-writes before unconfiguring a RAID set.
Partially addresses PR#10182.
2000-05-28 03:00:31 +00:00
oster ddebc1cad0 Move rf_UnconfigureVnodes to rf_netbsdkintf.c where it will be more at home.
Add prototype to rf_kintf.h, and nuke old prototypes from rf_disks.c and
rf_driver.c .
2000-03-07 02:28:05 +00:00
oster 8cde772948 Oops.. Need to note the parity status when we unconfigure.
Noted by Aaron J. Grier. (Thanks!)
2000-02-29 16:54:29 +00:00
oster 8d63540a8c When we close autoconfigured components, we need to note that they
are no longer in 'autoconfigured' status.
2000-02-25 17:14:18 +00:00
oster bdd659fc7f Deal with unconfiguring components in the autoconfigure case. 2000-02-24 23:39:21 +00:00
oster d91ecfbcfd Be more aggressive about updating component labels in the event
of a real component failure (or a simulated failure):
- add 'numNewFailures' to keep track of the number of disk failures
since mod_counter was last updated for each component label.
- make sure we call rf_update_component_labels() upon any component failure,
real or simulated.
2000-02-23 03:44:02 +00:00
oster 0c43bf18f0 - cleanup of more component label code
- make current default label values available everywhere
- make sure numBlocks and blockSize in component labels get initialized
for all component labels
- check for component size to be smaller than or equal to the partition size
when autoconfiguring
2000-02-23 02:04:21 +00:00
oster 445591e874 Get recent changes into the tree:
- make component_label variables more consistent (==> clabel)
- re-work incorrect component configuration code
- re-work disk configuration code
- cleanup initial configuration of raidPtr info
- add auto-detection of components and RAID sets (Disabled, for now)
- allow / on RAID sets (Disabled, for now)
- rename "config_disk_queue" to "rf_ConfigureDiskQueue" and properly prototype
in rf_diskqueue.h
- protect some headers with #if _KERNEL  (XXX this needs to be fixed properly)
  and cleanup header formatting.
- expand the component labels (yes, they should be backward/forward compatible)
- other bits and pieces (some function names are still bogus, and will get
changed soon)
2000-02-13 04:53:57 +00:00
oster f2a8aaee02 Garbage collect unused code. 2000-01-09 03:44:33 +00:00
oster 87ec1ad21b Nuke dependency on rf_diskthreads.h 2000-01-09 03:15:59 +00:00
oster 4a54cff7d7 Nuke dependencies on rf_cpuutils.h. 2000-01-09 03:14:32 +00:00
oster c8730b35e6 - move a bunch of function prototypes to rf_kintf.h
- general cleanup of a number of prototypes that were scattered around.
2000-01-09 01:29:27 +00:00
oster cdb6add0f7 Nuke desc->tid. 2000-01-09 00:00:18 +00:00
oster 04719e3adc - nuke calls to rf_get_threadid() and associated #include
- change a bunch of debugging printfs from
  "[%d] ...", tid   (where tid is the "thread id")
to
  "raid%d: ...", raidPtr->raidid
- other minor rototillage
2000-01-08 22:57:30 +00:00
oster e5ce17d0eb Nuke RF_DECLARE_GLOBAL_THREADID, rf_setup_threadid(), rf_shutdown_threadid(),
and rf_assign_threadid().  rf_threadid.h, your days are numbered.
2000-01-07 03:25:34 +00:00
oster 5f144eaa4b Shorten IO_BUF_ERR macro by one (unused) arg. 2000-01-07 03:03:44 +00:00
oster bd19af5aad Nuke what's left of the DFSTRACE stuff. 1999-12-07 02:54:08 +00:00
oster e65f9b7c87 More cleanup. DKUSAGE (what little was left of it) goes bye-bye. 1999-12-07 02:40:27 +00:00
oster a38b721e5f Nuke the last few bits of RF_DEBUG_ATOMIC that should have
disappeared a while back.
1999-12-07 02:13:28 +00:00
oster 128e2e90c5 Nuke some duplicate code. 1999-12-03 03:18:45 +00:00
oster 6409e641a6 Remove a 'struct proc *'-passing abomination that's been bugging me
for quite some time.
1999-08-14 03:10:03 +00:00
oster db2eaf18cf rf_sys.h does not need to be #included in any of these files, and, actually,
is no longer needed at all.
1999-08-13 03:41:52 +00:00
oster eca431e87c Nuke configuration of ETimer stuff during main configuration. 1999-08-13 03:25:01 +00:00
oster ce7cb7114d rf_UnconfigureVnodes() needs to be called in the DO_RAID_FAIL macro. 1999-07-19 01:36:07 +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 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 07b6b89dce Move vnode cleanup code into one place. Cleanup a bit. 1999-02-23 23:55:29 +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 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
drochner acdd660ace fix callback type 1998-11-13 13:45:15 +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