K 10 svn:author V 3 imp K 8 svn:date V 27 2011-01-11T20:52:34.603180Z K 7 svn:log V 1118 Implement range locking. When a range of a volume is locked, any writes to that range will be deferred. Range locking either succeeds right away, or is deferred until all the in-flight writes complete. Once a range is locked, write requests are queued. These requests are resumed when the range is unlocked. This is intended to be used while rebuilding a drive, or when doing bad-sector recovery via writing disk sectors that fail to read properly. Writes to areas of the volume that aren't locked are unaffected. Users of this facility should ensure that they lock small ranges for short periods to keep too many requests from queueing up (possiblely forcing a resource shortage that may prevent the range from being unlocked). I'm not sure how to trigger this problem, nor what remediation is necessary to prevent/reduce this problem. All the hooks are in place. Nothing that I'm checking in uses this facility yet, but in testing so far it doesn't affect anything by it being there unused. Also, create a callback for the RAID1 transform so I can start using it for bad sector recovery and then rebuilds. END