Commit Graph

181 Commits

Author SHA1 Message Date
oster
1231bd6d14 Umm... don't allow attempts to configure the same RAID device multiple times.
The check was there, but the return() was missing :(
2000-03-04 06:03:21 +00:00
oster
0049933f0f Reorganize some comments. 2000-03-04 04:22:34 +00:00
oster
194aba4e41 Garbage collect the (already disabled) "random" queue type. 2000-03-04 03:27:13 +00:00
oster
612e2e8f92 Nuke an unneeded #define. 2000-03-04 03:22:17 +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
7b1139520e More minor cleanup. 2000-03-03 02:04:48 +00:00
oster
87f46374bb Minor cleanup. No functional changes. 2000-03-03 01:46:36 +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
8c46e74418 Nuke some debugging output that got left in by mistake. 2000-02-27 02:35:33 +00:00
oster
82419f5ae9 Only mark the components as CLEAN if it's the last thing we're doing.
Marking them CLEAN earlier is (currently) asking for trouble.
(XXX This could have been done more elegantly.)
2000-02-27 01:50:22 +00:00
oster
d9c47013b2 Defopt 'RAID_AUTOCONFIG'. Adding 'options RAID_AUTOCONFIG' turns on
the component auto-detection and auto-configuration of RAID sets.
Also, add "#options RAID_AUTOCONFIG" to the GENERIC config files.
2000-02-26 17:35:33 +00:00
oster
caa3932441 Minor cleanups. Remove extra debugging printouts. 2000-02-25 20:11:00 +00:00
oster
21243f6205 - ignore the mod_counter when checking to see if a component fits with the
rest of an autoconfig set.
- minor cleanups
2000-02-25 19:56:56 +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
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
a4f7f062fd - cleanup raidinit()
- cleanup rf_mountroot_hooks()
- various other cleanups.
2000-02-25 02:42:30 +00:00
oster
5716b5d6d1 Be *slightly* more consistent about the use of num and numraid in raidattach(). 2000-02-25 02:21:12 +00:00
oster
e4e4483cb7 Fix a (slightly) bogus status message. 2000-02-25 02:06:34 +00:00
oster
bdd659fc7f Deal with unconfiguring components in the autoconfigure case. 2000-02-24 23:39:21 +00:00
oster
aea97a5a17 Oops... Missed commmitting this last night. Thanks to Matthias Scheler
for letting me know.
(Add the DiskQueueSW pointer)
2000-02-24 17:12:10 +00:00
oster
e644abfe94 Make sure we close auto-configured components appropriately when
attempting a rebuild-in-place.
2000-02-24 04:39:41 +00:00
oster
c5961cfba3 Garbage collect some unused stuff. Include rf_kintf.h for a
function prototype.
2000-02-24 03:52:15 +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
99f070bab8 - mod_counter needs to get incremented more often.
- use raid_init_component_labels instead of hand-rolling a component_label.
(missed doing this for the rf_used_spare case when updating component labels).
- fix serial number initialization in raid_init_component_labels
2000-02-24 01:23: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
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
e7f3dc2ec9 blockSize for the component label is already set correctly here. 2000-02-23 02:11:05 +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
6aaac32240 Do a better job of (re)initializing the component labels after
a reconstruct or a copyback.
2000-02-23 02:03:03 +00:00
oster
d84e4ed019 Make a note of autoconfigured components. 2000-02-23 02:01:55 +00:00
oster
e0ab2f3d0f Correct a comment. 2000-02-23 00:37:11 +00:00
oster
214822e08c Note the fact that the first arg of raidinit() may be bogus in
the autoconfig case (the value of the first arg never gets used, but...).
2000-02-22 23:13:15 +00:00
oster
e8ff7f6155 Bounds-check the 'last unit' a little more closely. 2000-02-22 16:07:02 +00:00
oster
fb56415023 Add a few comments, and an indicator of whether or not an autoconfig set
is 'rootable'.
2000-02-22 03:39:47 +00:00
oster
bd2230fd09 - implement additional component checking before autoconfiguration
- make component label setting work again(!!!!)
2000-02-22 03:38:42 +00:00
oster
afccbaa6d7 Umm.. let's set 'numraid' to something useful before we try to use it. 2000-02-21 23:33:45 +00:00
oster
7deba340d7 Some of these function names are bad enough that no one else would probably
pick them, but preface them with rf_ anyway.
2000-02-16 01:10:44 +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
edc931efea Make this compile without warnings on alphas.
(Problem noted by Aaron J. Grier)
2000-02-12 16:06:27 +00:00
thorpej
dc59bc1db3 Update for sys/buf.h/disksort_*() changes. 2000-01-21 23:39:55 +00:00
oster
138d8fef04 Fix typo + cleanup a bit. 2000-01-15 01:57:57 +00:00
oster
ef035f5a7b Make more 80-column friendly. No functionality changes. 2000-01-14 04:03:52 +00:00
oster
11e019370e "fix" a serious problem with RF_AccTraceEntry_t tracerec stuff.
XXX the "fix" is incorrect, but that makes it consistent with
some of the other code here.  A this point you should *not* be
thinking about using this code. (At all.) (And I mean it.)
2000-01-14 01:00:26 +00:00
oster
ee867c7fdf Add some debugging printfs. 2000-01-14 00:57:57 +00:00
oster
ec84f30ddd If we can't malloc a RF_ShutdownList then we should return ENOMEM right away.
Waiting for more kernel memory to come along can cause more problems than
we're willing to deal with right now.
2000-01-13 23:41:18 +00:00
oster
2c4bbb1b26 At (closer to) 80-columns, this may actually be readable code. 2000-01-09 04:35:13 +00:00
oster
f2a8aaee02 Garbage collect unused code. 2000-01-09 03:44:33 +00:00
oster
7ce0db89f9 Nuke more debugging stuff and cleanup a tad. 2000-01-09 03:39:13 +00:00