• NeilBrown's avatar
    md: allow raid5_quiesce to work properly when reshape is happening. · 64bd660b
    NeilBrown authored
    The ->quiesce method is not supposed to stop resync/recovery/reshape,
    just normal IO.
    But in raid5 we don't have a way to know which stripes are being
    used for normal IO and which for resync etc, so we need to wait for
    all stripes to be idle to be sure that all writes have completed.
    
    However reshape keeps at least some stripe busy for an extended period
    of time, so a call to raid5_quiesce can block for several seconds
    needlessly.
    So arrange for reshape etc to pause briefly while raid5_quiesce is
    trying to quiesce the array so that the active_stripes count can
    drop to zero.
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    64bd660b
raid5.c 150 KB