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
oster
2c127bf249
Allow getting a component label from a spare disk.
2000-06-03 16:44:43 +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
matt
c9aff328d9
Make booted_device global (and booted_parition for consitency).
...
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
oster
00a6796b71
Oops.. reconstruction percentages were being reported incorrectly.
...
Thanks to Manuel Bouyer for noting this.
2000-05-31 00:52:36 +00:00
oster
8e82dfa363
For a RAID 1 set that has N components, allow the set to auto-configure as
...
long as at least one of the master or the mirror is available for each
of the N/2 'rows' of the set. (No, RAIDframe doesn't do N-way mirroring..)
Thanks to Manuel Bouyer for noting the problem.
2000-05-30 03:29:49 +00:00
oster
ef4a0a7cf8
Use #include <sys/kernel.h> instead of a 'extern int hz'.
...
Make this file more readable.
2000-05-30 02:04:29 +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
f1f5c4d00e
Fix a couple of typos. (Thanks Wiz! :) )
2000-05-29 01:43:04 +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
1ddfaaf8fa
Umm.. Complete is not equal to 'left to do'. Fix the math.
2000-05-28 03:42:23 +00:00
oster
e38b4355e2
Abort any parity re-writes before unconfiguring a RAID set.
...
Partially addresses PR#10182.
2000-05-28 03:00:31 +00:00
oster
228570e110
When setting auto-config/rootable bits, only try to update the
...
component label if the component is actually alive.
2000-05-28 01:03:22 +00:00
oster
1aaf6772f1
- Add a mechanism for obtaining finer-grained 'progress' information
...
regarding reconstructs, copybacks, etc.
- RAID 0 doesn't do copybacks, but don't make raidctl sweat about it.
2000-05-28 00:48:30 +00:00
oster
26b4598736
Components which match on everything but the mod_counter are
...
renegades, and must be handled correctly. In particular, they should
be added to their old auto-config set, but then immediately released.
Failing to do otherwise means that they potentialy end up in a
different (and competing!) RAID set which may auto-configure in place
of the correct one, and cause all sorts of chaos at auto-configure
time.
2000-05-27 20:29:14 +00:00
oster
e9b5b7aa5e
Add a comment to clarify why we actually want the component label to
...
be considered a 'match' even if the mod_counter is wrong.
2000-05-27 19:12:03 +00:00
oster
d2b2ed0970
Checking parity re-write status makes no sense on RAID 0, but let's
...
return something reasonable anyway.
2000-05-27 18:23:27 +00:00
thorpej
b8322d5c23
Const poison the layout name.
2000-05-23 00:44:38 +00:00
thorpej
071aed40ac
A foolish consistency; most parts of the kernel use bp->b_data, so
...
change these from bp->b_un.b_addr to bp->b_data, as well. This also
allows us more flexibility to experiment with other data buffer types
hung off of struct buf.
2000-05-19 18:54:22 +00:00
minoura
c2e8f67477
Add some missing casts of ioctl arg.
...
Obviously autoconfiguration wouldn't work on big-endian machines.
2000-05-19 04:53:25 +00:00
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
5845348e54
Revert last change (the last change was not necessarily desirable, and
...
had some other minor side-affects that were troublesome).
2000-04-17 19:35:12 +00:00
oster
c71398f7a9
Don't allow configuration where the specified SectPerSU may result in IO larger
...
than MAXPHYS being sent to underlying devices. Addresses PR#9868.
Will change if/when MAXPHYS goes bye-bye.
2000-04-16 03:24:26 +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
oster
8d702c4b54
Nuke 'register' from some function prototypes.
2000-03-30 13:39:07 +00:00
augustss
169ac5b3c1
Remove register declarations.
2000-03-30 12:41:09 +00:00
oster
d0c76be757
cleanup function prototypes.
2000-03-27 03:25:17 +00:00
oster
b97e06092d
Shuffle some prototypes to a more appropriate location.
2000-03-27 03:01:33 +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
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