On Sat, Jul 11, 2015 at 3:44 PM, Joel Sing <j...@sing.id.au> wrote: > Your analysis is incorrect - offlining of chunks is handled via sr_ccb_done(). > If lower level I/O indicates an error occurred then the chunk is marked > offline, > providing that the discipline has redundancy (for example, we do not offline > chunks for RAID 0 or CRYPTO - it usually just makes things worse). This > applies to both read and write operations.
Joel, thanks a lot for correcting me. Indeed, sr_ccb_done looks "suspicious" and looks like is doing exactly what I expected sr_wu_done should do. Thanks for the lesson, I'll need to read also softraid.c more closely next time. BTW: Speaking about SR, how do you test the stuff? Do you have any work-flow ho to inject random or intended errors to the device or emulated device and this way test that the code is doing exactly what it should? I'm thinking here about several vnds and corrupting their files or about running OpenBSD inside VBox and corrupting VM files etc. I would really appreciate any idea in this domain since I'll need to test my checksumming RAID 1 once code is ready. Thanks, Karel