Commit Graph

34 Commits

Author SHA1 Message Date
oster 7a8eea351b Fix a couple of warnings about uninitialized variables. Thanks go to
Frank van der Linden for pointing these out.
2000-12-05 01:35:56 +00:00
oster 014e17fbdc Correct a few calls to VOP_CLOSE(). 2000-09-21 01:37:35 +00:00
oster 3fa62c4642 Make sure we are passing a locked vp to VOP_CLOSE. 2000-09-08 01:36:35 +00:00
oster 66e6338ac9 Use 'componentN' rather than leaving blanks for non-existant disks
in the 'raidctl -s' output.
2000-06-02 01:17:14 +00:00
oster c11100526b Don't let the autodetection code get tripped up by negative mod-counters. 2000-05-29 02:57:34 +00:00
oster 39a667120f In the event that an up-to-date component cannot be located for a specific
position, see if there is a failed component still hanging around that
we can use instead (but still mark it as failed).  This leads to more
reasonable behaviour (and fewer surprises!) when autoconfiguring and
failed (or previously failed) components are still on the system.
2000-05-28 22:53:49 +00:00
oster f329fb84ad We need to be slightly more clever during auto-configuration, to make
sure that we a) don't ignore components with correct mod-counters, and
b) do ignore components with bogus mod-counters.
2000-05-28 05:23:41 +00:00
oster cf0b47bd0e Minor cleanup of unneeded verbosity. 2000-03-31 02:05:24 +00:00
oster d0c76be757 cleanup function prototypes. 2000-03-27 03:25:17 +00:00
oster 2ee63332b3 Add bits for eventual support of deleteing components and moving
hot-spares into the main set.
2000-03-26 22:38:28 +00:00
oster d9da26f998 Nuke a function prototype that shouldn't be here. 2000-03-25 16:24:57 +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 88a8d06a0b Use the common disk allocation code, rather doing things the old way. 2000-03-03 03:47:17 +00:00
oster 142175b1a1 Minor formatting cleanup. 2000-03-03 03:10:03 +00:00
oster 503220a18f - ignore components whose mod_counter values are too low.
- noting the mod_counter for autoconfigured sets would be a win too.
2000-02-25 19:56:32 +00:00
oster 851a2cdcd8 - record the pointer to the DiskQueueSW so we can use that when
we hot-add a spare.
- use the above info when adding a spare.
2000-02-24 03:48:41 +00:00
oster 9e81bc058e Now that we have the information available, use the general maxOutstanding
value for the RAID set, rather than looking at Queue[0][0] (which may not
exist).
2000-02-24 02:55:05 +00:00
oster fb13ce76fc - make sure we note the parity status in the autoconfig case.
- also, make sure we grab the serial number from the component labels
when we autoconfig.
2000-02-24 01:22:32 +00:00
oster d84e4ed019 Make a note of autoconfigured components. 2000-02-23 02:01:55 +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 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 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 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 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 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
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 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 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 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 a37be85529 rf_ccmn.h no longer needed. Nuke it's inclusion from rf_disks.c. 1999-01-26 03:49:49 +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
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 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