summaryrefslogtreecommitdiff
path: root/sys/dev/raidframe/rf_reconstruct.c
AgeCommit message (Collapse)Author
2003-02-09constify somejdolecek
2002-11-19For reconstructs, move checks for failed components to before theoster
kernel threads are created.
2002-11-16Cleanup more printfs.oster
2002-11-15After a rebuild-in-place, a reconstruct, or a copyback, we shouldoster
really be updating the component labels.
2002-10-18Improve and/or re-arrange a number of locks. While much of the locking isoster
still a mess, and there are a number of unresolved issues here, this gets us closer to being happier in LOCKDEBUG land.
2002-10-06Add a missing RF_LOCK_MUTEX().oster
2002-10-06Introduce a temp variable, and allocate the ReconCtrl structure beforeoster
we protect raidPtr. One less thing for LOCKDEBUG to complain about.
2002-09-23Nuke "baddisk". Thanks to Simon B.oster
2002-09-21rf_RegisterReconDoneProc() isn't needed.oster
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-19Introduce and use RF_DEBUG_PSS, and save a few more bytes.oster
2002-09-19One signal will do, thanks.oster
2002-09-17Cast the RF_DEBUG_RECON net a little wider.oster
2002-09-17Rename RF_DEBUG_RECONBUFFER to RF_DEBUG_RECON in order to facilitateoster
disabling other stuff without having to introduce another #define.
2002-09-16Cleanup some comments.oster
2002-09-16rf_CheckFloatingRbufCount() is only really useful when debugging theoster
reconstruct buffer stuff. #if it out in the general case.
2002-09-16Cleanup some printf's, and disable some (debugging) output.oster
2002-09-14Everyone and their dog was using RF_ERRORMSG3 to print out the sameoster
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-09Disallow 'reconstruct-in-place' on a component that has failedoster
and has already been reconstructed to a hot spare.
2002-07-13Nuke a redundant wakeup().oster
2002-01-09Move a bunch of debugging stuff to be only used if DEBUG is turned on.oster
2001-11-15don't need <sys/types.h> when including <sys/param.h>lukem
2001-11-13add RCSIDslukem
2001-10-04Step 2 of the disentanglement. We now look to <dev/raidframe/*> foroster
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-07-18bzero -> memsetthorpej
2001-06-14It's silly to need a parity rebuild after a reconstruction has completed.oster
If we've just reconstructed a disk, then the parity is known to be correct. (XXX doesn't hold for RAID 6!)
2001-01-26Ensure we update the 'partitionSize' field of the component labelsoster
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.
2000-06-04Merge rf_update_component_labels() and rf_final_update_component_labels().oster
2000-05-31Oops.. reconstruction percentages were being reported incorrectly.oster
Thanks to Manuel Bouyer for noting this.
2000-05-28Umm.. Complete is not equal to 'left to do'. Fix the math.oster
2000-05-28- Add a mechanism for obtaining finer-grained 'progress' informationoster
regarding reconstructs, copybacks, etc. - RAID 0 doesn't do copybacks, but don't make raidctl sweat about it.
2000-03-13Fix doubled 'the's in comments.soren
2000-03-07Create a new rf_close_component() to handle vnode operations for closingoster
components. Teach rf_UnconfigureVnodes() how to use it, and tell the copyback and reconstruction code about it too.
2000-02-25When we close autoconfigured components, we need to note that theyoster
are no longer in 'autoconfigured' status.
2000-02-25Fix a (slightly) bogus status message.oster
2000-02-24Make sure we close auto-configured components appropriately whenoster
attempting a rebuild-in-place.
2000-02-23Be more aggressive about updating component labels in the eventoster
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-23Do a better job of (re)initializing the component labels afteroster
a reconstruct or a copyback.
2000-02-13Get recent changes into the tree:oster
- 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-01-09Nuke dependencies on rf_cpuutils.h.oster
2000-01-09Nuke unused debugging stuff. Clean up a whole bunch of comments.oster
2000-01-09- move a bunch of function prototypes to rf_kintf.hoster
- general cleanup of a number of prototypes that were scattered around.
2000-01-09Nuke #if 0'ed code.oster
2000-01-08- nuke calls to rf_get_threadid() and associated #includeoster
- 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-05- update RF_CREATE_THREAD to handle a 'process name' argument.oster
- 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.
1999-08-14Remove a 'struct proc *'-passing abomination that's been bugging meoster
for quite some time.
1999-08-13rf_sys.h does not need to be #included in any of these files, and, actually,oster
is no longer needed at all.
1999-08-13Clean up reconstruction accounting a bit. While it worked before, it wasoster
slightly broken in the case where the RAID set did not support reconstruction.
1999-03-02Update for recent changes including component label support, cleanoster
bits, rebuilding components in-place, adding hot spares, shutdownhooks, etc.
1999-02-05Phase 2 of the RAIDframe cleanup. The source is now closer to KNFoster
and is much easier to read. No functionality changes.
1999-01-26Nuke more bits of RAIDframe "demo" code. We're not "demoing" here,oster
we're doing the Real Thing!