• NeilBrown's avatar
    md: fix clearing of the 'changed' flags for the bad blocks list. · d0962936
    NeilBrown authored
    In super_1_sync (the first hunk) we need to clear 'changed' before
    checking read_seqretry(), otherwise we might race with other code
    adding a bad block and so won't retry later.
    
    In md_update_sb (the second hunk), in the case where there is no
    metadata (neither persistent nor external), we treat any bad blocks as
    an error.  However we need to clear the 'changed' flag before calling
    md_ack_all_badblocks, else it won't do anything.
    
    This patch is suitable for -stable release 3.0 and later.
    
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarNeilBrown <neilb@suse.de>
    d0962936
md.c 214 KB