Commit Graph

447 Commits

Author SHA1 Message Date
oster
4eb16a0a4f bye-bye to RF_FREELIST_GET_INIT_ARG and RF_FREELIST_FREE_CLEAN_ARG
whos services are no longer needed after poolification of PSS structures.
2002-10-11 02:15:57 +00:00
oster
9401ec32c0 poolify the allocation of Parity Stripe Status structures.
XXX: Current code may have problems if kernel memory is completely depleted.
This is, unfortunately, not the only chunk of RAIDframe code to have
this problem, and will have to be dealt with. :(
2002-10-11 02:10:08 +00:00
oster
16f8b30fa2 Minor comment and 80-column fixes. No functional changes. 2002-10-07 04:05:55 +00:00
oster
644e9151d0 poolify the RF_ReconMapListElem_t's used by rf_ReconMapUpdate().
Gives LOCKDEBUG kernels one less thing to complain about.
2002-10-06 18:49:12 +00:00
oster
eb9d6f5ffa Add a missing RF_LOCK_MUTEX(). 2002-10-06 05:32:59 +00:00
oster
0567afd1cf Introduce a temp variable, and allocate the ReconCtrl structure before
we protect raidPtr.  One less thing for LOCKDEBUG to complain about.
2002-10-06 05:23:55 +00:00
oster
6108856337 update_size() does some bookkeeping, but nothing ever reads the data
it gathers.  Nuke it.  Without update_size, FreeReconMapListElem() can
do without mapPtr.  That, in turn, means crunch_list() doesn't need a
mapPtr either.
2002-10-05 22:45:46 +00:00
oster
e29eccb29a RU_NIL is not used. Remove it. 2002-10-05 16:10:41 +00:00
oster
150a2e7941 Minor cleanup. No functional changes. 2002-10-04 23:49:35 +00:00
oster
40e0eab4fd Clean up #includes. Group function prototypes. Fix more 80-column lossage
that was missed before.  Cleanup a printf.
2002-10-04 22:56:54 +00:00
oster
ad11d11dc2 Undo the change from 1.16->1.17, and 1.19->1.20. The ltsleep and locking
that was there before before is just fine, and plays nicely with LOCKDEBUG
now that we've added the raidio thread.
2002-10-04 22:50:26 +00:00
oster
dfd9bc2a73 Tidy up comments and do some 80-column fixing. No functional changes. 2002-10-04 22:35:08 +00:00
oster
8bdc70d040 As part of the effort to get RAIDframe playing nicely with LOCKDEBUG,
rework how completed requests are handled.  In particular, instead of
doing all sorts of work and locking in interrupt context, completed
requests are now queued.  A new kernel thread (rf_RaidIOThread) now
handles calling rf_DiskIOComplete() and (req->CompleteFunc)() for each
completed request.  There is still work to be done to make RAIDframe
LOCKDEBUG friendly, but this change is a huge step forward.

Reviewed by (and many thanks to): thorpej
2002-10-04 20:05:14 +00:00
oster
9fbf5b5d27 Create a thread creation macro that make it easier to name the DAG process.
Use it to have the DAGExecutionThread have a better name for each RAID
process ('raid0', 'raid1', etc., vs. just 'raid', 'raid', etc.)
2002-10-02 21:48:00 +00:00
oster
1ebb206e58 We're going to need rf_lkmgr_mutex_destroy() sooner than I thought. 2002-10-02 15:18:12 +00:00
oster
0e45bff1d4 Since we are unlocking the lock before sleeping, there is no need
to use ltsleep() when a tsleep() will suffice.  Makes RAIDframe+LOCKDEBUG
play together much better.
2002-10-02 14:38:53 +00:00
thorpej
2b99f7cc34 Add a generic config finalization hook, to be called once all real
devices have been discovered.  All finalizer routines are iteratively
invoked until all of them report that they have done no work.

Use this hook to fix a latent bug in RAIDframe autoconfiguration of
RAID sets exposed by the rework of SCSI device discovery.
2002-10-01 18:11:57 +00:00
provos
0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
thorpej
d1ad2ac4f2 Rather than referencing the cfdriver directly in the cfdata entries,
instead use a string naming the driver.  The cfdriver is then looked
up in a list which is built at run-time.
2002-09-27 02:24:06 +00:00
oster
6d1870476a Nuke some ancient debugging code. 2002-09-24 00:53:58 +00:00
oster
8a5a36de43 Cleanup the comment formatting a bit. 2002-09-24 00:12:55 +00:00
oster
f0efca630a Nuke a couple of unneeded #defines. 2002-09-23 23:53:54 +00:00
oster
3ea42f1599 lockTable is not needed for AddToWaitersQueue(). Thanks to Simon B.
(cleanup a couple comments while I'm here.)
2002-09-23 04:34:46 +00:00
oster
8f2c8387e2 Nuke a couple of unreached 'break's. Thanks (again) to Simon B. 2002-09-23 04:19:05 +00:00
oster
eb144de792 The 'reconDesc' argument to rf_SignalQuiescenceLock() is a holdover from
simulation code. *poof*  Thanks to Simon B.
2002-09-23 04:14:20 +00:00
oster
7db6bcd2ed CheckCvscanState never prints the file and line number. Thanks to Simon B. 2002-09-23 04:02:29 +00:00
oster
7370acda44 Nuke 'lockflag', a holdover from the simulation code. Thanks to Simon B. 2002-09-23 03:53:14 +00:00
oster
d1ef62f266 rf_lkmgr_mutex_destroy is currently unused. Thanks to Simon B. 2002-09-23 03:44:18 +00:00
oster
1c67e9d94b Hide more stuff inside RF_DEBUG_SHUTDOWN. Add a prototype for
rf_FreeShutdownEnt() while we're here.  Thanks to Simon B.
2002-09-23 03:42:50 +00:00
oster
e875ee2d89 Nuke "baddisk". Thanks to Simon B. 2002-09-23 03:40:28 +00:00
oster
3ac36660fa Another 'unblockNode' goes *poof*. Also nuke an instance of an
(effectively) unused layoutPtr.  Thanks to Simon B.
2002-09-23 03:38:51 +00:00
oster
9d518ec378 Clobber basically unused 'pda', and 'unblockNode' and 'wrUnBlock'.
Thanks to Simon B.
2002-09-23 03:36:08 +00:00
oster
a8c038ad35 struct proc *p was only assigned to. Thanks Simon B. 2002-09-23 03:31:51 +00:00
oster
f1529267b8 Make this build w/ DEBUG. 2002-09-23 03:28:41 +00:00
oster
4b1300c83f The declaration for rf_GetSpareTableFromDaemon might be supplied in
a header file, but that doesn't help here if said header is not pulled in!
(Hi Simon :) )
2002-09-23 03:27:17 +00:00
itojun
393f467c67 make it compile with DIAGNOSTIC 2002-09-23 03:17:36 +00:00
simonb
daa3345504 Don't need declarations for rf_copyback_in_progress and
rf_GetSpareTableFromDaemon() - these are already supplied
in various header files.
2002-09-23 03:04:27 +00:00
oster
3e5db6c469 Ooops.. should have included this 'row' with the last change. 2002-09-23 02:55:03 +00:00
oster
d5e5932f5e 'row' was defined and set, but never used. *poof* Thanks to Simon B. 2002-09-23 02:53:58 +00:00
oster
b0da983806 Neither force nor retcode are used. *poof* Thanks to Simon B. 2002-09-23 02:51:43 +00:00
oster
d5e793770c Remove unneeded variables and lame assignments. Thanks Simon B.! 2002-09-23 02:49:14 +00:00
oster
23b87a323a bytesPerStripeUnit is set, but never used. Thanks to Simon B. for pointing
this out.
2002-09-23 02:40:07 +00:00
oster
35d3621d0c dataBytesPerStripe is set, but never used. *poof* 2002-09-23 02:35:24 +00:00
oster
7264a7cc8c RAIDGETBUF and RAIDPUTBUF were #defines that were only used in
one place.  Simplify things by removing them, and clean up more
unneeded instances of 'unit' and 'rs'.
2002-09-22 03:56:08 +00:00
oster
fe654a583a rf_flags wasn't being used. *poof* 2002-09-22 03:46:40 +00:00
oster
f99563a0ff A little housecleaning to nuke stuff that was unused. 2002-09-22 03:44:42 +00:00
oster
86a6fcfe0a Minor cleanup/reformatting. 2002-09-21 14:47:07 +00:00
oster
2a10c08e0a #if 0 more stuff, per Krister's list. Thanks Krister!
(RAIDframe is now at a shade under 174K in GENERIC on i386)
2002-09-21 07:12:46 +00:00
oster
61da76cbbe #if 0 out one other function, and shuffle DEBUG code. Actually
reclaims another 14K!?!?!!  Thanks Krister!
2002-09-21 07:05:06 +00:00
oster
2876788c95 rf_RegisterReconDoneProc() isn't needed.
This is the last of the 'easy' ones that Krister made me aware of.
Total savings on i386 GENERIC kernel: 13151 bytes
RAIDframe in GENERIC is now at: 179033
Thanks again Krister!
2002-09-21 01:25:10 +00:00