• NeilBrown's avatar
    md/raid1: try fix_sync_read_error before process_checks. · 7ca78d57
    NeilBrown authored
    If we get a read error during resync/recovery we current repeat with
    single-page reads to find out just where the error is, and possibly
    read each page from a different device.
    
    With check/repair we don't currently do that, we just fail.
    However it is possible that while all devices fail on the large 64K
    read, we might be able to satisfy each 4K from one device or another.
    
    So call fix_sync_read_error before process_checks to maximise the
    chance of finding good data and writing it out to the devices with
    read errors.
    
    For this to work, we need to set the 'uptodate' flags properly after
    fix_sync_read_error has succeeded.
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    7ca78d57
raid1.c 58.4 KB