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
oster
b0caf96f87
It's got to help to check the *right* value if you care what
...
RF_Malloc() is returning.
2000-01-09 03:28:11 +00:00
oster
fbd3b6b396
Another one bites the dust.
2000-01-09 03:17:12 +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
23c4c71c8f
By popular demand (Hi Thor!) make the cylinder size in a default
...
disklabel be the size of the (data part) of the stripe.
2000-01-09 02:56:13 +00:00
oster
754613774a
rf_cpuutil.c isn't useful for the kernel driver.
...
*poof* *poof*
2000-01-09 02:23:21 +00:00
oster
c8723703d2
Not sure why this file was still around since it's really not required.
...
*poof*
2000-01-09 02:05:12 +00:00
oster
6e92bd4525
Nuke unused debugging stuff. Clean up a whole bunch of comments.
2000-01-09 01:45:58 +00:00
oster
a5dcdf8572
Nuke a couple of obsolete comments.
2000-01-09 01:34:29 +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
08817bcd50
Nuke #if 0'ed code.
2000-01-09 01:12:05 +00:00
oster
cdb6add0f7
Nuke desc->tid.
2000-01-09 00:00:18 +00:00
oster
37c75452f4
Time's up. This file is no longer needed. "toodles." *punt*
2000-01-08 23:54:26 +00:00
oster
418d4b8471
- more cleanup of rf_get_threadid() and debugging printfs
2000-01-08 23:45:05 +00:00
oster
524894d6f2
Make raidPtr a 'RF_Raid_t *' like it's supposed to be.
2000-01-08 23:02:16 +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
23864e9422
Bail if rf_numParityRegions is not > 0. Cleanup a comment.
2000-01-08 05:13:26 +00:00
oster
0d2f49b054
Nuke stale comment.
2000-01-08 03:49:37 +00:00
oster
e7fe279817
Minor cleanup.
2000-01-08 03:34:31 +00:00
oster
db96c5344b
Nuke some (now) incorrect comments. More minor cleanup.
2000-01-08 02:04:06 +00:00
oster
ef979643a7
Replace raidPtrs[unit] with just raidPtr, and assign the former to the
...
later early on in raidioctl(). Code is easier to read now too.
2000-01-08 01:52:42 +00:00
oster
b9a1fe405c
Minor tillage on the raidioctl() stuff. More cleanup to follow.
...
No functional changes.
2000-01-08 01:37:37 +00:00
oster
a4ea38dbe8
Nuke an unneeded #ifdef (__NetBSD__)
2000-01-08 01:18:36 +00:00
oster
91273673e7
In RAIDFRAME_CONFIGURE, don't set values in raidPtrs[unit] unless
...
the configuration was successful. Noted by Peter Galbavy of OpenBSD.
2000-01-07 13:57:20 +00:00
oster
bf2d4a40db
rf_GetNextReconEvent() is already prototyped in rf_revent.h.
...
minor cleanup
2000-01-07 03:56:14 +00:00
oster
12dacda256
nuke one call to rf_get_threadid() and cleanup rf_State_Cleanup a bit.
2000-01-07 03:47:15 +00:00
oster
bf081bf6eb
Nuke: #include "rf_threadid.h" and call to rf_get_threadid().
2000-01-07 03:43:39 +00:00
oster
48301a8dae
Nuke: #include "rf_threadid.h".
2000-01-07 03:40:56 +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
86f362fb97
Nuke unused #define.
2000-01-07 03:04:41 +00:00
oster
5f144eaa4b
Shorten IO_BUF_ERR macro by one (unused) arg.
2000-01-07 03:03:44 +00:00
oster
51380e0e8c
- bail if we can't allocate memory for raid_softc's. Set 'numraid' as
...
appropriate for that condition.
- nuke some debugging stuff that we hope we'll never need again
- minor cleanups
2000-01-06 02:06:41 +00:00
oster
d4dfa2a664
Make sure we really get something back from RF_Malloc before we use it.
2000-01-05 04:15:30 +00:00
oster
77ab4d1598
- update RF_CREATE_THREAD to handle a 'process name' argument.
...
- fire up a new thread for parity re-writes, copybacks, and reconstructs.
The ioctl's which trigger these actions now return immediately.
- add progress accounting for the above actions.
- minor rototillage of rf_netbsdkintf.c to deal with all of the above.
2000-01-05 02:57:28 +00:00
oster
28c2380f21
Nuke a bunch of debugging cruft. No functional changes.
1999-12-15 02:02:16 +00:00
oster
fe0726b921
Whoops! Neglected to initialize the buffer queues for anything other
...
than raid0. Fix that...
1999-12-14 15:27:00 +00:00
oster
c8753ea619
Rework how we do the 'wakeup' when an IO completes.
1999-12-12 20:52:37 +00:00
oster
706e3c13c0
Rename rf_DoAccessKernel() to raidstart() and cleanup arguments.
1999-12-12 20:52:16 +00:00
oster
e8a639b1df
Rototill the IO throttle code. Rename rf_DoAccessKernel() to raidstart()
...
and cleanup arguments. While we're here, cleanup raidstrategy(), and nuke
a bunch of unused debugging stuff.
RAIDframe + softdeps now play very nicely together.
1999-12-12 20:51:41 +00:00
oster
a0d72cb555
Trust only the data disk if the mirror is not known to be up-to-date.
...
(this should have been committed with a previous fix for the same
problem in another function in this file :( )
1999-12-09 02:26:09 +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
bed152a4e7
We don't support RF_DAG_TEST_ACCESS.
1999-12-03 03:35:30 +00:00
oster
128e2e90c5
Nuke some duplicate code.
1999-12-03 03:18:45 +00:00
oster
a038f90588
Kernel memory is not to be wasted. If we're bailing out because of an error,
...
give any allocated memory back to the kernel so someone else can use it.
1999-12-03 03:06:44 +00:00
oster
3888a71ad1
Move LIST_INIT() to a more appropriate place.
1999-12-03 02:43:22 +00:00
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