oster
db11351ced
Make sure the config structure allocated during autoconfiguration actually
...
gets initialized properly. Should fix PR#9816.
2000-04-27 00:57:48 +00:00
oster
cf0b47bd0e
Minor cleanup of unneeded verbosity.
2000-03-31 02:05:24 +00:00
oster
cd61979606
Print out the 'root' status of a RAID set during autoconfiguration.
2000-03-31 01:20:43 +00:00
augustss
169ac5b3c1
Remove register declarations.
2000-03-30 12:41:09 +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
e44151e8d6
Fix up some autoconfigure messages. In particular, don't try printing
...
the value of an uninitialized variable. Noted by Luke Mewburn.
2000-03-22 01:41:41 +00:00
oster
7f288b4e0d
Just return "100% done" when asked about reconstruction progress on
...
a RAID0 set.
2000-03-20 22:59:26 +00:00
oster
7c57ac56d7
Cleanup a couple of function declarations. No functional changes.
2000-03-07 03:09:47 +00:00
oster
51ffb0924c
Create a new rf_close_component() to handle vnode operations for closing
...
components. Teach rf_UnconfigureVnodes() how to use it, and tell
the copyback and reconstruction code about it too.
2000-03-07 02:59:50 +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
33a55d022b
rf_ protect the component label print routine, and make it more easily
...
available to the rest of RAIDframe.
2000-03-07 02:12:13 +00:00
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
87f46374bb
Minor cleanup. No functional changes.
2000-03-03 01:46:36 +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
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
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
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
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
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
thorpej
dc59bc1db3
Update for sys/buf.h/disksort_*() changes.
2000-01-21 23:39:55 +00:00
oster
7ce0db89f9
Nuke more debugging stuff and cleanup a tad.
2000-01-09 03:39:13 +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
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
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
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
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
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
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
07cc4855f1
Minor cleanup. No functional changes.
1999-08-14 23:34:18 +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