K 10 svn:author V 3 imp K 8 svn:date V 27 2011-01-26T19:01:05.183018Z K 7 svn:log V 1077 Initial commit of recovery code: (1) We can REBUILD a RAID1 volume now. A REBUILD operation is one where you read from the good disk and write the bad disk. (2) Some support for RESYNC is present, but nothing really functional yet. A RESYNC operation reads the two disk, compares the results and writes only those sectors that differ. (3) Write remapping has finally been pushed in with this commit (4) We mark disks as bad after a threshold of disk read errors. This isn't complete yet: (1) RESYNC needs lots of work (2) Some refactoring for doing incremental REBUILD work would likely reduce bug or bug potential (3) SYSCLTize the #defines (4) Lots of edge cases need to be carefully reviewed and fixed. (5) Performance tuning of REBUILD: the initial parameters are WAGs. (6) The timeout function pointer needs to be a TR layer method. (7) Not all code paths have been executed: some stupid panics may linger. When not doing a RESYNC or REBUILD, I'm seeing 20MB/s both before and after these changes. But this was in virtualbox.... # reviews welcome... END