• NeilBrown's avatar
    md/raid10: add rcu protection to rdev access in raid10_sync_request. · f90145f3
    NeilBrown authored
    mirrors[].rdev can become NULL at any point unless:
      - a counted reference is held
      - ->reconfig_mutex is held, or
      - rcu_read_lock() is held
    
    Previously they could not become NULL during a resync/recovery/reshape either.
    However when remove_and_add_spares() was added to hot_remove_disk(), that
    changed.
    
    So raid10_sync_request didn't previously need to protect rdev access,
    but now it does.
    
    Fix missed check(Shaohua)
    Signed-off-by: default avatarNeilBrown <neilb@suse.com>
    Signed-off-by: default avatarShaohua Li <shli@fb.com>
    f90145f3
raid10.c 128 KB