• NeilBrown's avatar
    md/raid10: Handle read errors during recovery better. · 5e570289
    NeilBrown authored
    Currently when we get a read error during recovery, we simply abort
    the recovery.
    
    Instead, repeat the read in page-sized blocks.
    On successful reads, write to the target.
    On read errors, record a bad block on the destination,
    and only if that fails do we abort the recovery.
    
    As we now retry reads we need to know where we read from.  This was in
    bi_sector but that can be changed during a read attempt.
    So store the correct from_addr and to_addr in the r10_bio for later
    access.
    
    
    Signed-off-by: NeilBrown<neilb@suse.de>
    5e570289
raid10.c 80.8 KB