Feature #425: trigger osd scrub automatically
osd: make scrub not block writes
The overarching goal is to make scrub interact with writes. I think currently it holds the pg lock the whole time and writes just wait, which is no good because it can take a while to do. We could make it pause for writes, and reconcile the results with the conflicting write somehow, but that sounds complicated. But is it really? Maybe if the scrub map is sorted by sobject_t it would be easy to re-check any modified objects. It's current a vector<>, which is probably bad news anyway given how big it can get.
Alternatively, we could quiesce writes, take a snapshot on primary+replicas, resume writes, and the scrub the snapshot. Any problems we detect then need to be verified and/or repaired individually on the live pg. That may be complicated as well.