Skip to content
  • NeilBrown's avatar
    md/raid5: schedule_construction should abort if nothing to do. · ce7d363a
    NeilBrown authored
    Since commit 1ed850f3
    
    
        md/raid5: make sure to_read and to_write never go negative.
    
    It has been possible for handle_stripe_dirtying to be called
    when there isn't actually any work to do.
    It then calls schedule_reconstruction() which will set R5_LOCKED
    on the parity block(s) even when nothing else is happening.
    This then causes problems in do_release_stripe().
    
    So add checks to schedule_reconstruction() so that if it doesn't
    find anything to do, it just aborts.
    
    This bug was introduced in v3.7, so the patch is suitable
    for -stable kernels since then.
    
    Cc: stable@vger.kernel.org (v3.7+)
    Reported-by: default avatarmajianpeng <majianpeng@gmail.com>
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    ce7d363a