oster
99020323e6
Nuke the 5 NULL parameters from rf_DoAccess(). Observe that 4 of
...
the variables are passed directly to rf_AllocRaidAccDesc(), and the 5th
isn't even used. Hunt them down and nuke them too.
2001-07-27 03:30:07 +00:00
thorpej
228b23427f
bcmp -> memcmp
2001-07-18 06:46:46 +00:00
thorpej
cf56c44a86
bzero -> memset
2001-07-18 06:45:33 +00:00
oster
81f5c58b58
If we're closing the last partition on a RAID set and the system is
...
being shutdown, then unconfigure the RAID set too. This fixes a number
of issues with doing proper unconfigures/shutdowns of multi-level RAID
sets.
Thanks to Jason Thorpe and Bill Squier for the ideas/suggestions on
how/where to do this, and to Bill Squier for testing.
2001-07-16 15:50:27 +00:00
oster
bdfad3793f
We don't need to check for raidautoconfig here, so nuke it and
...
clean up a little.
2001-06-21 03:07:04 +00:00
oster
76d322c58c
#if out a few more bits that arn't required if we are not doing
...
PQ or RAID6.
2001-06-20 03:09:23 +00:00
oster
0e8f8213af
A bunch of these bits are only needed for the EVENODD stuff.
...
Shaves a little better than 1K off the size of an i386 kernel.
2001-06-19 03:25:16 +00:00
oster
669f5cc5a5
It's silly to need a parity rebuild after a reconstruction has completed.
...
If we've just reconstructed a disk, then the parity is known to
be correct. (XXX doesn't hold for RAID 6!)
2001-06-14 02:35:56 +00:00
mrg
054673b07c
#endif /* takes no argument */
2001-06-08 12:51:17 +00:00
oster
856e0a920e
A value of 1 for tracks/cylinder in the disklabel is apparently sub-optimal.
...
Thus we choose "4 * number_of_columns" as a more reasonable
value (until someone comes up with something better).
This pretends to properly address PR#11989.
2001-04-05 02:48:51 +00:00
mrg
8e0434ce99
include <sys/param.h> before <sys/ioctl.h>
2001-02-03 12:51:10 +00:00
oster
cc2a28f2c0
Un-'__P'ify.
2001-01-27 20:42:20 +00:00
oster
1949425ffc
Nuke some bogus debug code that was already '#if 0'ed out.
2001-01-27 20:18:55 +00:00
oster
e6d8ca0dee
Cosmetic cleanup of some comments, and nuke an unused #define.
2001-01-27 20:10:49 +00:00
oster
75ea8b428e
Having moved some of the bits needed by raidctl into rf_configure.c, we
...
no longer need those bits here. In particular, this file is now only
used in the kernel, and that allows us to clean up a lot of cruft.
2001-01-27 19:34:43 +00:00
oster
3edd34f0be
More #if's. This needs some serious rototillage, but a few #if's will
...
suffice for now.
2001-01-27 02:13:34 +00:00
oster
c4a426333f
My.. what a twisty little maze of #defines and dependencies. Some of this
...
code is used for more than anticipated, and I missed a few checks last
night. Thanks to Bernd Ernesti for poking me about this.
2001-01-26 14:06:16 +00:00
oster
e47b177bc0
Nobody calls these bits if we arn't doing RAID5 with rotated spare stuff.
...
Add an #if.
2001-01-26 05:16:58 +00:00
oster
1763f954c7
These bits are only needed for the interdecluster stuff.. wrap them
...
with an #if.
2001-01-26 05:09:13 +00:00
oster
7833c33e99
Whoops.. Leave them on.. (for now.)
2001-01-26 04:43:16 +00:00
oster
a40eef11ac
Give the parity declustering code their own 'RAID arch' types, and
...
allow us to turn them off if desired.
2001-01-26 04:40:03 +00:00
oster
61a2ee28fb
Lots of stuff here that is only used for some of the 'fancier' RAID types.
...
Don't compile it if we arn't going to use it.
2001-01-26 04:27:16 +00:00
oster
bcc70a3f37
Clean up some INDENT warnings. (yes, these have been there for a while!)
2001-01-26 04:14:14 +00:00
oster
0a5ca1547d
Various parts of this file are only needed by the even/odd and PQ
...
RAID types. Don't include those bits if we arn't doing even/odd or PQ stuff.
2001-01-26 04:05:08 +00:00
oster
9880e186ec
Don't build the stuff in this file if RF_INCLUDE_EVENODD is not defined.
2001-01-26 03:50:53 +00:00
oster
c77d3c20a8
Ensure we update the 'partitionSize' field of the component labels
...
when doing a reconstruct or a copyback. If we don't, junk might be
there, and that could cause the component to be not correctly
autoconfigured on reboot. Thanks to Simon Burge for helping track this down.
2001-01-26 02:16:24 +00:00
fvdl
d040bd5908
Return error in the case of using ODIOCGDINFO or ODIOCGDEFLABEL when
...
the number of partitions is > OLDMAXPARTITIONS. This is better
than silently truncating the label (don't want to silently throw
away partitions when using an old disklabel binary on a label with
> 8 partitions). From Enami Tsugutomo.
2001-01-08 02:03:45 +00:00
fvdl
e2d1c1f926
Adapt all disk devices in MI directories to handle ODIOC* calls
...
for ports that have bumped MAXPARTITIONS (and thus define
__HAVE_OLD_DISKLABEL).
2001-01-07 18:09:01 +00:00
oster
b36a1a085e
For the RF_ASSERT() and RF_PANIC() macros, call a function to do the
...
sprintf, instead of doing the sprintf in the macros. This means just
1 copy of each of the error messages, chopping about about 16K off the
size of an i386 kernel. Thanks to Simon Burge and Enami Tsugutomo
for providing the inspiration to do this.
2000-12-15 02:12:58 +00:00
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
fvdl
b6d9ce390e
Comment out 2 cases of unitialized variable use (only used when
...
debugging is switched on, though).
2000-12-04 11:35:46 +00:00
chs
c62d17a551
rationalize the use of b_flags for geteblk() buffers.
...
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
oster
d349cdf1ef
Move disk_busy() and disk_unbusy() to more sane locations. Values
...
reported by 'systat iostat' and friends are now much more correct for
RAIDframe devices. Thanks to Andrew Doran for poking me about this,
and for suggestions on and review of the changes.
2000-10-20 02:24:45 +00:00
oster
f9a49b32bf
Don't touch a failed component at all. Thanks to Robert Elz (kre) for
...
noting the problem and providing additional comments.
2000-10-17 03:39:41 +00:00
oster
fc40c38df6
Minor fixup for a printf(). Noted by Robert Elz.
2000-10-12 03:28:49 +00:00
oster
3ee0550572
convert tsleep()->ltsleep(), which makes the kernel complain less
...
when compiled with LOCKDEBUG.
2000-09-21 01:45:46 +00:00
oster
014e17fbdc
Correct a few calls to VOP_CLOSE().
2000-09-21 01:37:35 +00:00
oster
32802fc83f
Be consistent: use mcpair->cond instead of mcpair->flag.
...
This also lets us clean up a bunch of cruft.
2000-09-11 02:23:14 +00:00
oster
e8645831a5
Only reset the timer value if it actually accumlated time.
...
Otherwise it may never accumulate any time, and the recon delay
will never happen.
2000-09-11 00:22:45 +00:00
oster
3fa62c4642
Make sure we are passing a locked vp to VOP_CLOSE.
2000-09-08 01:36:35 +00:00
thorpej
a6b7f5a17d
Use RF_WAIT_COND() to avoid locking errors.
2000-08-20 16:51:03 +00:00
thorpej
d06cb9ab29
RF_COND_WAIT(): use ltsleep().
...
RF_SIGNAL_COND(): use wakeup_one().
2000-08-20 16:15:31 +00:00
oster
49742b54fa
Remove a bogus VOP_UNLOCK.
2000-08-19 18:20:07 +00:00
oster
3a17c9470d
Don't try to initialize a component label on a failed component.
2000-08-19 18:07:36 +00:00
oster
dc4b749234
Fix the status reporting for copybacks. Thanks to Hubert Feyrer for
...
reporting the problem.
2000-07-14 15:26:29 +00:00
oster
ce2b2827e5
Nuke a printf that *I* added at least as early as Nov, 1998, and which is
...
as bogus now as it was then.
2000-06-29 00:22:27 +00:00
oster
7a0d138818
Nuke a (mostly) now-incorrect comment.
2000-06-11 03:35:38 +00:00
oster
6dcc553fae
Remove outdated comment.
2000-06-04 02:16:05 +00:00
oster
0b63accce0
Merge rf_update_component_labels() and rf_final_update_component_labels().
2000-06-04 02:05:13 +00:00
oster
1dcc041500
Minor prototype cleanup.
2000-06-04 01:39:49 +00:00