• NeilBrown's avatar
    md/raid5: handle activation of replacement device when recovery completes. · dd054fce
    NeilBrown authored
    When recovery completes - as reported by a call to ->spare_active,
    we clear In_sync on the original and set it on the replacement.
    
    Then when the original gets removed we move the replacement from
    'replacement' to 'rdev'.
    
    This could race with other code that is looking at these pointers,
    so we use memory barriers and careful ordering to ensure that
    a reader might see one device twice, but never no devices.
    Then the readers guard against using both devices, which could
    only happen when writing.
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    dd054fce
raid5.c 166 KB