Commit Graph

56 Commits

Author SHA1 Message Date
fvdl d5aece61d6 Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
2003-06-29 22:28:00 +00:00
darrenr 960df3c8d1 Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
2003-06-28 14:20:43 +00:00
simonb 40149dc0bb Remove an assigned-to but unused variable. 2003-04-10 04:11:50 +00:00
dsl bd99e3429d Use 'void *' instead of 'caddr_t' in prototypes of VOP_IOCTL, VOP_FCNTL
and VOP_ADVLOCK, delete casts from callers (and some to copyin/out).
2003-03-21 23:11:19 +00:00
jdolecek e3c5d7b092 constify some 2003-02-09 10:04:32 +00:00
oster 6ac4a184c4 For reconstructs, move checks for failed components to before the
kernel threads are created.
2002-11-19 01:45:28 +00:00
oster 0cfd5a5b13 Cleanup more printfs. 2002-11-16 16:59:58 +00:00
oster ad8fd01bdf After a rebuild-in-place, a reconstruct, or a copyback, we should
really be updating the component labels.
2002-11-15 03:57:48 +00:00
oster 2eecfbf479 Improve and/or re-arrange a number of locks. While much of the locking is
still a mess, and there are a number of unresolved issues here, this
gets us closer to being happier in LOCKDEBUG land.
2002-10-18 02:46:36 +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 e875ee2d89 Nuke "baddisk". Thanks to Simon B. 2002-09-23 03:40:28 +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
oster bc235cf75b Introduce and use RF_DEBUG_PSS, and save a few more bytes. 2002-09-19 22:52:52 +00:00
oster 0c1690c441 One signal will do, thanks. 2002-09-19 22:41:51 +00:00
oster aad979b7eb Cast the RF_DEBUG_RECON net a little wider. 2002-09-17 03:30:33 +00:00
oster 1b1653573f Rename RF_DEBUG_RECONBUFFER to RF_DEBUG_RECON in order to facilitate
disabling other stuff without having to introduce another #define.
2002-09-17 03:21:40 +00:00
oster 55b509f490 Cleanup some comments. 2002-09-16 02:48:34 +00:00
oster 4511efdca0 rf_CheckFloatingRbufCount() is only really useful when debugging the
reconstruct buffer stuff.  #if it out in the general case.
2002-09-16 02:35:17 +00:00
oster 549b1bde93 Cleanup some printf's, and disable some (debugging) output. 2002-09-16 02:25:08 +00:00
oster a2b9142871 Everyone and their dog was using RF_ERRORMSG3 to print out the same
sort of error message, over and over again, in different files.
Rather than having the same text repeated in multiple .o files,
create a couple of little functions to do the printing, and save a
bundle of space.  Also improves readability of code.
2002-09-14 17:53:57 +00:00
oster 5965f8b92a Disallow 'reconstruct-in-place' on a component that has failed
and has already been reconstructed to a hot spare.
2002-09-09 02:44:17 +00:00
oster 76e98667c5 Nuke a redundant wakeup(). 2002-07-13 20:54:57 +00:00
oster 2ad74785a4 Move a bunch of debugging stuff to be only used if DEBUG is turned on. 2002-01-09 03:10:19 +00:00
lukem 2565646230 don't need <sys/types.h> when including <sys/param.h> 2001-11-15 09:47:59 +00:00
lukem a3746e00b7 add RCSIDs 2001-11-13 07:11:12 +00:00
oster 765e00d3de Step 2 of the disentanglement. We now look to <dev/raidframe/*> for
the stuff that used to live in rf_types.h, rf_raidframe.h, rf_layout.h,
rf_netbsd.h, rf_raid.h, rf_decluster,h, and a few other places.
Believe it or not, when this is all done, things will be cleaner.

No functional changes to RAIDframe.
2001-10-04 15:58:51 +00:00
thorpej cf56c44a86 bzero -> memset 2001-07-18 06:45:33 +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
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
oster 0b63accce0 Merge rf_update_component_labels() and rf_final_update_component_labels(). 2000-06-04 02:05:13 +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 1ddfaaf8fa Umm.. Complete is not equal to 'left to do'. Fix the math. 2000-05-28 03:42:23 +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
soren 95054da1a1 Fix doubled 'the's in comments. 2000-03-13 23:52:25 +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 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 e4e4483cb7 Fix a (slightly) bogus status message. 2000-02-25 02:06:34 +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 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 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 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 4a54cff7d7 Nuke dependencies on rf_cpuutils.h. 2000-01-09 03:14:32 +00:00
oster 6e92bd4525 Nuke unused debugging stuff. Clean up a whole bunch of comments. 2000-01-09 01:45:58 +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 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 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 6409e641a6 Remove a 'struct proc *'-passing abomination that's been bugging me
for quite some time.
1999-08-14 03:10:03 +00:00
oster db2eaf18cf rf_sys.h does not need to be #included in any of these files, and, actually,
is no longer needed at all.
1999-08-13 03:41:52 +00:00