• NeilBrown's avatar
    md/raid10: add failfast handling for reads. · 8d3ca83d
    NeilBrown authored
    If a device is marked FailFast, and it is not the only
    device we can read from, we mark the bio as MD_FAILFAST.
    
    If this does fail-fast, we don't try read repair but just
    allow failure.
    
    If it was the last device, it doesn't get marked Faulty so
    the retry happens on the same device - this time without
    FAILFAST.  A subsequent failure will not retry but will just
    pass up the error.
    
    During resync we may use FAILFAST requests, and on a failure
    we will simply use the other device(s).
    
    During recovery we will only use FAILFAST in the unusual
    case were there are multiple places to read from - i.e. if
    there are > 2 devices.  If we get a failure we will fail the
    device and complete the resync/recovery with remaining
    devices.
    Signed-off-by: default avatarNeilBrown <neilb@suse.com>
    Signed-off-by: default avatarShaohua Li <shli@fb.com>
    8d3ca83d
raid10.h 4.24 KB