Commit Graph

84 Commits

Author SHA1 Message Date
oster 5fd68b5d02 We must initialize bp->b_dep in InitBP(). 1999-11-18 13:28:06 +00:00
oster e589155692 Remove some minor stuff that wasn't right, and wasn't even really used. 1999-11-17 01:16:37 +00:00
oster 3949e74f78 If we have a choice: do not trust the parity disk for read
balancing in a RAID 1 set if we know that the parity might not
be up-to-date.  Thanks to Thor for bringing this to my attention.
1999-11-09 03:07:20 +00:00
oster fe5b29ca42 Nuke unused prototype. 1999-09-08 02:01:55 +00:00
oster 83abb87d9a Garbage collect more unused stuff. 1999-09-05 03:05:55 +00:00
oster 9c01870db1 Remove more unused stuff. 1999-09-05 02:54:09 +00:00
oster cfbdda8843 Garbage collect some more stuff. 1999-09-05 02:24:58 +00:00
oster 6158faa69d Cleanup a bit more. 1999-09-05 01:58:11 +00:00
oster e57673d0d4 Remove one of the two bzero calls in RF_Calloc -- the 2nd one doesn't
buy us anything at all.
1999-09-05 01:46:35 +00:00
oster d8144e5848 More cleanup of unused stuff. This time we nuke a bunch of memory
allocation stuff.
1999-09-04 21:11:21 +00:00
oster cfd861fcd8 Minor cleanup of (now) unneeded RF_UTILITY checks. 1999-09-04 16:26:30 +00:00
oster b1615831d2 Nuke some unused code which, were it enabled, might be useful for
performance measurement, but which would cause data corruption.
1999-08-26 02:40:27 +00:00
oster 770de7bb5a Print a error message instead of panicing in rf_RecoveryPQFunc(). 1999-08-15 03:44:46 +00:00
oster d516e7b571 Make these compile with RF_INCLUDE_RAID6. 1999-08-15 02:36:40 +00:00
oster ff6d7dd494 Cleanup a bit. 1999-08-15 02:36:03 +00:00
oster 07cc4855f1 Minor cleanup. No functional changes. 1999-08-14 23:34:18 +00:00
oster 4ba14d22b0 Fix an 'off-by-one' error in a RF_ASSERT which meant that a reconstruct
would panic in the case where the stripe width was 1 block.
1999-08-14 21:44:24 +00:00
oster 740b9848cc Decrease the number of outstanding IO's threashold slightly.
The previous value may have been too high in some instances.
1999-08-14 03:47:07 +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 4a058e82c5 Correct and/or improve detection of bogus row/column values
passed in via ioctls.
1999-08-14 02:41:36 +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 1ec5208866 This file is no longer needed. 1999-08-13 03:31:20 +00:00
oster 1aa6ce1041 Garbage collect rpcc(). 1999-08-13 03:27:46 +00:00
oster 02acd1910a First kick at cleaning up the RF_ETIMER code. New timer handling code
provided by Peter Galbavy via OpenBSD.
1999-08-13 03:26:55 +00:00
oster eca431e87c Nuke configuration of ETimer stuff during main configuration. 1999-08-13 03:25:01 +00:00
oster 5cab826918 Clean up reconstruction accounting a bit. While it worked before, it was
slightly broken in the case where the RAID set did not support reconstruction.
1999-08-13 01:43:33 +00:00
oster 33e458640f Garbage collect unused struct rf_test_acc. 1999-08-11 02:20:35 +00:00
oster 31b98d3572 When reporting the status of a component during configuration,
provide more intuitive information about whether a component is clean
or not.
1999-08-10 22:56:20 +00:00
oster 620eda50c7 Don't allow reconstructs, copybacks, or forced failures of components if
using a RAID 0, since RAID 0 can't handle those sorts of things.
1999-08-10 22:46:59 +00:00
oster 0b08c839eb Don't go ape if there is a problem verifying the parity. Note the condition
and inform the user (as opposed to panicing the system!).
1999-08-10 22:19:27 +00:00
oster 49efd10006 Oops. Make minor change that I forgot when adding the parity check ioctl. 1999-08-10 21:41:37 +00:00
oster a3aefdaee3 Add support for easily checking the parity status from userland.
Also: spl protect rf_RewriteParity().
1999-08-10 18:18:30 +00:00
oster a531d8c31e Trying to rebuild parity on a degraded set is bogus, so don't allow that.
Also, check sooner for a RAID 0 set, since rewriting parity makes no
sense there either.
1999-08-10 01:53:26 +00:00
oster e0c8203cb3 Nuke unused #define. 1999-08-03 22:07:39 +00:00
oster 5cef006d40 Need to splbio()/splx() protect some of the reconstruction stuff.
Without this, we have potentially bad interatctions with the pool
code.
1999-07-21 03:15:26 +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 0c7600ca4e sectorsPerStripeUnit should be larger than 0. If it isn't, simply fail.
(Thanks to Thor Lancelot Simon for noting the problem).
1999-07-19 01:35:19 +00:00
oster 324c76b3d9 Once upon a time, long long ago, there was a "fix" added to the
RAIDframe driver to stop it from eating too much kernel memory when
writing data.  But that fix had a nasty side-affect of hurting write
performance (*much* more than I thought it would).  These changes nuke
that "fix", and instead put in a more reasonable mechanism for limiting
the number of simultaneous IO's which can be happening for each RAID device.
The result is a noticeable improvement in write throughput.  The End.
1999-07-08 00:45:23 +00:00
thorpej 5f1ede624f Make the kthread API a bit friendlier to loadable kernel modules. 1999-07-06 21:51:22 +00:00
oster 86abd11d42 Remember to pass down the proc pointer when adding a hot spare.
(Thanks to Martin J. Laubach for helping track this one down.)
1999-06-13 20:36:17 +00:00
oster 8c39e1bf02 When adding a hot spare, remember to lock down the main raidPtr
structure before mucking with its contents.
1999-06-04 02:02:39 +00:00
oster 60769ea563 At config time, initialize a small amount of space for the disk queues
corresponding to the hot spares.  We'll need that space when a spare is
actually added.  Huge Thanks to Martin Laubach for helping track this down.
1999-06-04 01:51:00 +00:00
oster 3af0ce9e19 Don't count two problems with a single component as two
component failures!  Also: remember to configure the disk queues for
the spares -- failure to do that is Bad(tm).
Huge Thanks to Martin Laubach for helping track this down.
1999-06-04 01:50:01 +00:00
ad daf0e5b05c Replace two instances of TNF copyright with one (was replicated for two
separate contributers).
1999-05-13 21:46:17 +00:00
oster 4882ae464f Fix a couple of compiler warnings on the Alpha. Pointed out by Tim Rightnour. 1999-04-12 19:39:59 +00:00
oster 9f560505d4 Allow re-writing parity on a RAID 0 to trivially succeed, and to set the
clean bit.  This is somewhat bogus as RAID 0 does not have any parity,
but is a slightly cleaner than other solutions, and makes the handling
of clean bits for RAID 0 consistent with the handling of clean bits at
other RAID levels.
1999-04-07 14:17:10 +00:00
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