• NeilBrown's avatar
    md/raid5: allow each slot to have an extra replacement device · 671488cc
    NeilBrown authored
    Just enhance data structures to record a second device per slot to be
    used as a 'replacement' device, replacing the original.
    We also have a second bio in each slot in each stripe_head.  This will
    only be used when writing to the array - we need to write to both the
    original and the replacement at the same time, so will need two bios.
    
    For now, only try using the replacement drive for aligned-reads.
    In this case, we prefer the replacement if it has been recovered far
    enough, otherwise use the original.
    
    This includes a small enhancement.  Previously we would only do
    aligned reads if the target device was fully recovered.  Now we also
    do them if it has recovered far enough.
    Reviewed-by: default avatarDan Williams <dan.j.williams@intel.com>
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    671488cc
raid5.c 159 KB